"""日志配置"""
import sys
import os
from loguru import logger
LOG_DIR = os.getenv("LOG_DIR", "./logs")
os.makedirs(LOG_DIR, exist_ok=True)
# 移除默认处理器
logger.remove()
# 控制台输出
logger.add(
sys.stdout,
level="INFO",
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
)
# 通用日志文件
logger.add(
f"{LOG_DIR}/app_{{time:YYYY-MM-DD}}.log",
rotation="00:00",
retention="30 days",
level="INFO",
encoding="utf-8",
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
)
# 错误日志文件
logger.add(
f"{LOG_DIR}/error_{{time:YYYY-MM-DD}}.log",
rotation="00:00",
retention="30 days",
level="ERROR",
encoding="utf-8",
)
# AI调用日志
logger.add(
f"{LOG_DIR}/ai_{{time:YYYY-MM-DD}}.log",
rotation="00:00",
retention="30 days",
level="INFO",
encoding="utf-8",
filter=lambda record: "ai_call" in record["extra"],
)
__all__ = ["logger"]