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())