2026-04-14 10:08:41 +08:00

50 lines
1.2 KiB
Python

"""
日志工具
"""
import sys
from pathlib import Path
from loguru import logger
from app.config import settings
def setup_logger():
"""配置日志格式和输出"""
# 移除默认 handler
logger.remove()
# 控制台输出
logger.add(
sys.stderr,
level=settings.LOG_LEVEL,
format=(
"<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
"<level>{level: <8}</level> | "
"<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> | "
"<level>{message}</level>"
),
colorize=True,
)
# 文件输出(可选)
if settings.LOG_TO_FILE:
log_file = Path(settings.LOG_FILE)
log_file.parent.mkdir(parents=True, exist_ok=True)
logger.add(
str(log_file),
level="DEBUG",
format=(
"{time:YYYY-MM-DD HH:mm:ss.SSS} | "
"{level: <8} | "
"{name}:{function}:{line} | "
"{message}"
),
rotation="50 MB",
retention="7 days",
encoding="utf-8",
)
logger.info("日志系统初始化完成")