From 64d51448b8da1efc2271b0951de71745906f8671 Mon Sep 17 00:00:00 2001 From: yanyongyu Date: Mon, 19 Apr 2021 21:40:27 +0800 Subject: [PATCH] :bug: fix log module name error --- nonebot/log.py | 4 ++++ nonebot/plugin/manager.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/nonebot/log.py b/nonebot/log.py index 3f6d1e1a..1e05e799 100644 --- a/nonebot/log.py +++ b/nonebot/log.py @@ -47,6 +47,10 @@ class Filter: self.level = "DEBUG" def __call__(self, record): + module = sys.modules.get(record["name"]) + if module: + plugin_name = getattr(module, "__plugin_name__", record["name"]) + record["name"] = plugin_name record["name"] = record["name"].split(".")[0] levelno = logger.level(self.level).no return record["level"].no >= levelno diff --git a/nonebot/plugin/manager.py b/nonebot/plugin/manager.py index c83a019a..d46f6f6e 100644 --- a/nonebot/plugin/manager.py +++ b/nonebot/plugin/manager.py @@ -215,6 +215,9 @@ class PluginLoader(SourceFileLoader): return # really need? # setattr(module, "__manager__", self.manager) + if self._plugin_token: + setattr(module, "__plugin_name__", + _current_plugin.get(self._plugin_token)) if self._export_token: setattr(module, "__export__", _export.get())