inti
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
"""日志配置模块"""
|
||||
|
||||
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="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | "
|
||||
"<level>{level: <8}</level> | "
|
||||
"<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> | "
|
||||
"<level>{message}</level>",
|
||||
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",
|
||||
)
|
||||
Reference in New Issue
Block a user