|
30 | 30 |
|
31 | 31 | import colorlog |
32 | 32 |
|
| 33 | +from astrbot.core.config.default import VERSION |
| 34 | + |
33 | 35 | # 日志缓存大小 |
34 | 36 | CACHED_SIZE = 200 |
35 | 37 | # 日志颜色配置 |
@@ -186,7 +188,7 @@ def GetLogger(cls, log_name: str = "default"): |
186 | 188 |
|
187 | 189 | # 创建彩色日志格式化器, 输出日志格式为: [时间] [插件标签] [日志级别] [文件名:行号]: 日志消息 |
188 | 190 | console_formatter = colorlog.ColoredFormatter( |
189 | | - fmt="%(log_color)s [%(asctime)s] %(plugin_tag)s [%(short_levelname)-4s] [%(filename)s:%(lineno)d]: %(message)s %(reset)s", |
| 191 | + fmt="%(log_color)s [%(asctime)s] %(plugin_tag)s [%(short_levelname)-4s]%(astrbot_version_tag)s [%(filename)s:%(lineno)d]: %(message)s %(reset)s", |
190 | 192 | datefmt="%H:%M:%S", |
191 | 193 | log_colors=log_color_config, |
192 | 194 | ) |
@@ -223,10 +225,21 @@ def filter(self, record): |
223 | 225 | record.short_levelname = get_short_level_name(record.levelname) |
224 | 226 | return True |
225 | 227 |
|
| 228 | + class AstrBotVersionTagFilter(logging.Filter): |
| 229 | + """在 WARNING 及以上级别日志后追加当前 AstrBot 版本号。""" |
| 230 | + |
| 231 | + def filter(self, record): |
| 232 | + if record.levelno >= logging.WARNING: |
| 233 | + record.astrbot_version_tag = f" [v{VERSION}]" |
| 234 | + else: |
| 235 | + record.astrbot_version_tag = "" |
| 236 | + return True |
| 237 | + |
226 | 238 | console_handler.setFormatter(console_formatter) # 设置处理器的格式化器 |
227 | 239 | logger.addFilter(PluginFilter()) # 添加插件过滤器 |
228 | 240 | logger.addFilter(FileNameFilter()) # 添加文件名过滤器 |
229 | 241 | logger.addFilter(LevelNameFilter()) # 添加级别名称过滤器 |
| 242 | + logger.addFilter(AstrBotVersionTagFilter()) # 追加版本号(WARNING 及以上) |
230 | 243 | logger.setLevel(logging.DEBUG) # 设置日志级别为DEBUG |
231 | 244 | logger.addHandler(console_handler) # 添加处理器到logger |
232 | 245 |
|
|
0 commit comments