24 lines
790 B
Python
24 lines
790 B
Python
# backend/core/logger.py
|
||
import logging
|
||
import sys
|
||
|
||
def setup_logging(level=logging.INFO):
|
||
"""
|
||
全局日志配置
|
||
关键点:强制将日志输出到 sys.stderr,防止污染 sys.stdout 导致 MCP 协议崩溃。
|
||
"""
|
||
# 定义日志格式:时间 - 模块名 - 级别 - 内容
|
||
log_format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
||
|
||
# 配置根记录器
|
||
logging.basicConfig(
|
||
level=level,
|
||
format=log_format,
|
||
handlers=[
|
||
# 【绝对关键】使用 StreamHandler(sys.stderr)
|
||
# 这样日志会走标准错误通道,不会干扰 MCP 的标准输出通信
|
||
logging.StreamHandler(sys.stderr)
|
||
],
|
||
# 强制重新配置,防止被第三方库覆盖
|
||
force=True
|
||
) |