fix(logging): 移除lightrag中的重复日志配置并增强日志线程安全

禁止lightrag重复配置日志,避免覆盖主程序日志配置
在logging_config中添加enqueue参数确保日志线程安全
This commit is contained in:
Wenjie Zhang 2026-01-01 23:39:24 +08:00
parent 9c1747667c
commit c5fcbc6374
2 changed files with 11 additions and 5 deletions

View File

@ -35,10 +35,13 @@ class LightRagKB(KnowledgeBase):
# 设置 LightRAG 日志
log_dir = os.path.join(work_dir, "logs", "lightrag")
os.makedirs(log_dir, exist_ok=True)
setup_logger(
"lightrag",
log_file_path=os.path.join(log_dir, f"lightrag_{shanghai_now().strftime('%Y-%m-%d')}.log"),
)
# 禁止调用 lightrag.utils.setup_logger因为它会重置全局 logger 配置(调用 logger.remove()
# 导致主程序的控制台输出丢失。
# 全局 logger 已在 src/utils/logging_config.py 中配置好。
# setup_logger(
# "lightrag",
# log_file_path=os.path.join(log_dir, f"lightrag_{shanghai_now().strftime('%Y-%m-%d')}.log"),
# )
logger.info("LightRagKB initialized")

View File

@ -1,4 +1,5 @@
import os
import sys
from loguru import logger as loguru_logger
@ -25,12 +26,13 @@ def setup_logger(name, level="DEBUG", console=True):
rotation="10 MB", # 文件大小达到 10MB 时轮转
retention="30 days", # 保留30天的日志
compression="zip", # 压缩旧日志文件
enqueue=True, # 异步写入,确保线程安全
)
# 添加控制台日志(有颜色)
if console:
loguru_logger.add(
lambda msg: print(msg, end=""),
sys.stderr,
level=level,
format=(
"<green>{time:MM-DD HH:mm:ss}</green> "
@ -39,6 +41,7 @@ def setup_logger(name, level="DEBUG", console=True):
"<level>{message}</level>"
),
colorize=True,
enqueue=True, # 异步写入,确保线程安全
)
return loguru_logger