logger.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import logging
  2. import sys
  3. from pathlib import Path
  4. from datetime import datetime
  5. # 创建日志目录
  6. log_dir = Path("logs")
  7. log_dir.mkdir(exist_ok=True)
  8. # 日志文件名(按日期)
  9. log_file = log_dir / f"app_{datetime.now().strftime('%Y%m%d')}.log"
  10. # 配置日志格式
  11. log_format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
  12. date_format = "%Y-%m-%d %H:%M:%S"
  13. # 创建日志记录器
  14. logger = logging.getLogger("shudao-chat")
  15. logger.setLevel(logging.INFO)
  16. # 控制台处理器
  17. console_handler = logging.StreamHandler(sys.stdout)
  18. console_handler.setLevel(logging.INFO)
  19. console_formatter = logging.Formatter(log_format, date_format)
  20. console_handler.setFormatter(console_formatter)
  21. # 文件处理器
  22. file_handler = logging.FileHandler(log_file, encoding="utf-8")
  23. file_handler.setLevel(logging.INFO)
  24. file_formatter = logging.Formatter(log_format, date_format)
  25. file_handler.setFormatter(file_formatter)
  26. # 添加处理器
  27. logger.addHandler(console_handler)
  28. logger.addHandler(file_handler)
  29. def get_logger(name: str = "shudao-chat"):
  30. """获取日志记录器"""
  31. return logging.getLogger(name)