fix:优化启动方式
This commit is contained in:
27
utils/log_handler.py
Normal file
27
utils/log_handler.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import queue
|
||||
import re
|
||||
from loguru import logger
|
||||
|
||||
# 全局日志队列
|
||||
log_queue = queue.Queue()
|
||||
|
||||
def ansi_cleaner(text):
|
||||
"""去除 loguru 输出中的颜色代码,防止在 UI 显示乱码"""
|
||||
ansi_escape = re.compile(r"\x1b\[[0-9;]*m")
|
||||
return ansi_escape.sub("", text)
|
||||
|
||||
def queue_sink(message):
|
||||
"""Loguru 的回调函数"""
|
||||
clean_msg = ansi_cleaner(message)
|
||||
log_queue.put(clean_msg)
|
||||
|
||||
def setup_logging():
|
||||
"""配置日志系统"""
|
||||
# 清除默认的控制台输出,防止干扰
|
||||
logger.remove()
|
||||
|
||||
# 添加队列输出 (给 UI 用)
|
||||
logger.add(queue_sink, format="{time:HH:mm:ss} | {level: <8} | {message}", level="INFO")
|
||||
|
||||
# 添加文件输出 (给开发者排查用)
|
||||
# logger.add("logs/app_runtime.log", rotation="1 MB", encoding="utf-8", level="DEBUG")
|
||||
Reference in New Issue
Block a user