From 7524379af6a94bf20675df3d7858e52ad5d7ccc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=AE=E5=8F=AE=E5=BD=93?= <604054726@qq.com> Date: Fri, 23 Feb 2024 01:15:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9D=A1=E4=BB=B6=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E5=BE=AA=E7=8E=AF=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/log.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/log.py b/app/log.py index 1cab8a0a..0e09735a 100644 --- a/app/log.py +++ b/app/log.py @@ -48,10 +48,10 @@ class LoggerManager: caller_name = None # 调用者插件名称 plugin_name = None - for i in inspect.stack(): + for i in inspect.stack()[3:]: filepath = Path(i.filename) parts = filepath.parts - if not caller_name and parts and parts[-1].endswith(".py") and parts[-1] != "log.py": + if not caller_name: # 设定调用者文件名称 if parts[-1] == "__init__.py": caller_name = parts[-2] @@ -61,9 +61,13 @@ class LoggerManager: if not plugin_name and "plugins" in parts: # 设定调用者插件名称 plugin_name = parts[parts.index("plugins") + 1] + break if "main.py" in parts: # 已经到达程序的入口 break + elif len(parts) != 1: + # 已经超出程序范围 + break return caller_name or "log.py", plugin_name @staticmethod