From b0b38130c4a42675f3583f9e6ea5ecadd234fe36 Mon Sep 17 00:00:00 2001 From: Oscar Date: Fri, 9 Jan 2026 18:01:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(log):=20=E5=9C=A8=20WARN=20=E5=92=8C?= =?UTF-8?q?=20ERROR=20=E7=BA=A7=E5=88=AB=E6=97=A5=E5=BF=97=E4=B8=AD?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E7=89=88=E6=9C=AC=E5=8F=B7=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/log.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/astrbot/core/log.py b/astrbot/core/log.py index a70fdbf01..36b3f27fe 100644 --- a/astrbot/core/log.py +++ b/astrbot/core/log.py @@ -30,6 +30,8 @@ import colorlog +from astrbot.core.config.default import VERSION + # 日志缓存大小 CACHED_SIZE = 200 # 日志颜色配置 @@ -186,7 +188,7 @@ def GetLogger(cls, log_name: str = "default"): # 创建彩色日志格式化器, 输出日志格式为: [时间] [插件标签] [日志级别] [文件名:行号]: 日志消息 console_formatter = colorlog.ColoredFormatter( - fmt="%(log_color)s [%(asctime)s] %(plugin_tag)s [%(short_levelname)-4s] [%(filename)s:%(lineno)d]: %(message)s %(reset)s", + fmt="%(log_color)s [%(asctime)s] %(plugin_tag)s [%(short_levelname)-4s]%(astrbot_version_tag)s [%(filename)s:%(lineno)d]: %(message)s %(reset)s", datefmt="%H:%M:%S", log_colors=log_color_config, ) @@ -223,10 +225,21 @@ def filter(self, record): record.short_levelname = get_short_level_name(record.levelname) return True + class AstrBotVersionTagFilter(logging.Filter): + """在 WARN/ERRO 日志后追加当前 AstrBot 版本号。""" + + def filter(self, record): + if record.levelno == logging.WARNING or record.levelno >= logging.ERROR: + record.astrbot_version_tag = f" [v{VERSION}]" + else: + record.astrbot_version_tag = "" + return True + console_handler.setFormatter(console_formatter) # 设置处理器的格式化器 logger.addFilter(PluginFilter()) # 添加插件过滤器 logger.addFilter(FileNameFilter()) # 添加文件名过滤器 logger.addFilter(LevelNameFilter()) # 添加级别名称过滤器 + logger.addFilter(AstrBotVersionTagFilter()) # 追加版本号(仅 WARN/ERRO) logger.setLevel(logging.DEBUG) # 设置日志级别为DEBUG logger.addHandler(console_handler) # 添加处理器到logger From 13d62ff076d304ecff529271b0793b26f912000c Mon Sep 17 00:00:00 2001 From: Oscar Date: Mon, 12 Jan 2026 13:54:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor(core):=20=E7=AE=80=E5=8C=96?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=89=88=E6=9C=AC=E6=A0=87=E7=AD=BE=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E9=80=BB=E8=BE=91=E4=BB=A5=E5=8C=85=E5=90=AB=20WARNIN?= =?UTF-8?q?G=20=E5=8F=8A=E4=BB=A5=E4=B8=8A=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/log.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/astrbot/core/log.py b/astrbot/core/log.py index 36b3f27fe..78d1d4eca 100644 --- a/astrbot/core/log.py +++ b/astrbot/core/log.py @@ -226,10 +226,10 @@ def filter(self, record): return True class AstrBotVersionTagFilter(logging.Filter): - """在 WARN/ERRO 日志后追加当前 AstrBot 版本号。""" + """在 WARNING 及以上级别日志后追加当前 AstrBot 版本号。""" def filter(self, record): - if record.levelno == logging.WARNING or record.levelno >= logging.ERROR: + if record.levelno >= logging.WARNING: record.astrbot_version_tag = f" [v{VERSION}]" else: record.astrbot_version_tag = "" @@ -239,7 +239,7 @@ def filter(self, record): logger.addFilter(PluginFilter()) # 添加插件过滤器 logger.addFilter(FileNameFilter()) # 添加文件名过滤器 logger.addFilter(LevelNameFilter()) # 添加级别名称过滤器 - logger.addFilter(AstrBotVersionTagFilter()) # 追加版本号(仅 WARN/ERRO) + logger.addFilter(AstrBotVersionTagFilter()) # 追加版本号(WARNING 及以上) logger.setLevel(logging.DEBUG) # 设置日志级别为DEBUG logger.addHandler(console_handler) # 添加处理器到logger