scheduler_logger.py 705 B

1234567891011121314151617181920212223242526
  1. from pathlib import Path
  2. from loguru import logger
  3. _SCHEDULER_LOGGER_CONFIGURED = False
  4. def get_scheduler_logger():
  5. """Return scheduler logger with daily file sink."""
  6. global _SCHEDULER_LOGGER_CONFIGURED
  7. if not _SCHEDULER_LOGGER_CONFIGURED:
  8. log_dir = Path("logs/scheduler")
  9. log_dir.mkdir(parents=True, exist_ok=True)
  10. logger.add(
  11. str(log_dir / "scheduler_{time:YYYY-MM-DD}.log"),
  12. level="INFO",
  13. rotation="00:00",
  14. retention="30 days",
  15. encoding="utf-8",
  16. enqueue=True,
  17. backtrace=True,
  18. diagnose=False,
  19. )
  20. _SCHEDULER_LOGGER_CONFIGURED = True
  21. return logger