From fc43321f945fd48d3b8e5182defe1090cded47ec Mon Sep 17 00:00:00 2001 From: liuwei Date: Mon, 13 Apr 2026 15:05:13 +0800 Subject: [PATCH] chore: keep traceback out of debug logs --- main.py | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index f4298a8..ab29fb3 100644 --- a/main.py +++ b/main.py @@ -13,6 +13,19 @@ from loguru import logger from utils.sehuatang.sehuatang_bot import SehuatangCrawler +# 普通日志不附带 traceback,避免 debug/info 文件被异常堆栈刷屏。 +def _plain_log_format(record): + record["exception"] = None + return "{time:YYYY-MM-DD HH:mm:ss.SSS} | {level:<8} | {name}:{function}:{line} - {message}\n" + + +def _error_log_format(record): + return ( + "{time:YYYY-MM-DD HH:mm:ss.SSS} | {level:<8} | {name}:{function}:{line} - {message}\n" + "{exception}" + ) + + # INFO 日志(包含 INFO、DEBUG,但不包含 WARNING、ERROR) logger.add( f"logs/wx_info.log", @@ -20,7 +33,10 @@ logger.add( filter=lambda record: record["level"].name in ["INFO", "DEBUG"], rotation="10 MB", retention="7 days", - encoding="utf-8" + encoding="utf-8", + format=_plain_log_format, + backtrace=False, + diagnose=False, ) # ERROR 日志(仅 ERROR 及以上) @@ -29,7 +45,10 @@ logger.add( level="ERROR", rotation="10 MB", retention="7 days", - encoding="utf-8" + encoding="utf-8", + format=_error_log_format, + backtrace=True, + diagnose=True, ) # ERROR 日志(仅 ERROR 及以上) logger.add( @@ -37,7 +56,10 @@ logger.add( level="DEBUG", rotation="10 MB", retention="7 days", - encoding="utf-8" + encoding="utf-8", + format=_plain_log_format, + backtrace=False, + diagnose=False, )