| 1234567891011121314151617181920212223242526272829303132333435363738 |
- # logger_config.py
- from loguru import logger
- import sys
- import os
- # 移除默认配置(可选)
- logger.remove()
- # 配置控制台输出
- logger.add(
- sys.stdout,
- colorize=True,
- 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>",
- level="DEBUG"
- )
- # 配置文件输出(带轮换)
- log_path = os.path.join(os.getcwd(), "logs", "app_{time}.log")
- logger.add(
- log_path,
- rotation="100 MB", # 按大小轮换
- retention="30 days", # 保留30天
- compression="zip", # 压缩旧日志
- enqueue=True, # 线程安全
- backtrace=True, # 记录异常堆栈
- diagnose=True, # 显示变量值(生产环境建议关闭)
- level="INFO",
- format="{time:YYYY-MM-DD HH:mm:ss.SSS} | {level: <8} | {name}:{function}:{line} - {message}"
- )
- # 可选:添加错误日志单独文件
- logger.add(
- os.path.join(os.getcwd(), "logs", "error.log"),
- rotation="00:00", # 每天轮换
- retention="90 days",
- level="ERROR",
- format="{time:YYYY-MM-DD HH:mm:ss.SSS} | {level: <8} | {name}:{function}:{line} - {message}"
- )
|