logger_config.py 1.2 KB

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