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