diff --git a/src/knowledge/implementations/lightrag.py b/src/knowledge/implementations/lightrag.py index d62d1f44..496dfbdc 100644 --- a/src/knowledge/implementations/lightrag.py +++ b/src/knowledge/implementations/lightrag.py @@ -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") diff --git a/src/utils/logging_config.py b/src/utils/logging_config.py index d525cc61..8c3728b6 100644 --- a/src/utils/logging_config.py +++ b/src/utils/logging_config.py @@ -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=( "{time:MM-DD HH:mm:ss} " @@ -39,6 +41,7 @@ def setup_logger(name, level="DEBUG", console=True): "{message}" ), colorize=True, + enqueue=True, # 异步写入,确保线程安全 ) return loguru_logger