logger.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from loguru import logger
  2. import os
  3. class Logger:
  4. """日志管理工具"""
  5. def __init__(self, log_file: str = "parsing.log"):
  6. """
  7. 初始化日志配置
  8. Args:
  9. log_file: 日志文件路径
  10. """
  11. # 移除默认的控制台输出
  12. logger.remove()
  13. # 添加控制台输出
  14. logger.add(
  15. sink=lambda msg: print(msg, end=""),
  16. level="INFO",
  17. 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>"
  18. )
  19. # 添加文件输出
  20. logger.add(
  21. sink=log_file,
  22. level="DEBUG",
  23. rotation="100 MB",
  24. compression="zip",
  25. format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}"
  26. )
  27. @property
  28. def log(self):
  29. """
  30. 获取logger实例
  31. Returns:
  32. logger: loguru logger实例
  33. """
  34. return logger
  35. # 创建全局日志实例
  36. logger_instance = Logger()
  37. log = logger_instance.log