logger.py 920 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. """
  2. 日志配置
  3. """
  4. import sys
  5. from pathlib import Path
  6. from loguru import logger
  7. from app.config import settings
  8. # 创建日志目录
  9. log_dir = Path("logs")
  10. log_dir.mkdir(exist_ok=True)
  11. # 移除默认处理器
  12. logger.remove()
  13. # 控制台输出 - 优化API出入参显示
  14. logger.add(
  15. sys.stderr,
  16. 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>",
  17. level=settings.LOG_LEVEL,
  18. # 对于DEBUG级别,使用更清晰的格式显示API出入参
  19. colorize=True,
  20. )
  21. # 文件输出
  22. logger.add(
  23. log_dir / "app_{time:YYYY-MM-DD}.log",
  24. rotation="00:00",
  25. retention="30 days",
  26. format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
  27. level="DEBUG",
  28. encoding="utf-8",
  29. )
  30. def setup_logger():
  31. """设置日志"""
  32. return logger