"""日志配置模块"""
import sys
from pathlib import Path
from loguru import logger
def setup_logger(level: str = "INFO", log_file: str = None) -> None:
"""
配置日志
Args:
level: 日志级别
log_file: 日志文件路径
"""
# 移除默认handler
logger.remove()
# 控制台输出
logger.add(
sys.stdout,
level=level,
format="{time:YYYY-MM-DD HH:mm:ss} | "
"{level: <8} | "
"{name}:{function}:{line} | "
"{message}",
colorize=True,
)
# 文件输出
if log_file:
log_path = Path(log_file)
log_path.parent.mkdir(parents=True, exist_ok=True)
logger.add(
log_file,
level=level,
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} | {message}",
rotation="10 MB",
retention="7 days",
encoding="utf-8",
)