get_logger.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import logging
  2. from logging.handlers import TimedRotatingFileHandler
  3. import os
  4. def setup_logger(file_name):
  5. # 获取一个日志记录器
  6. logger = logging.getLogger(file_name)
  7. # 设置日志级别
  8. logger.setLevel(logging.DEBUG) # 设置最低的日志级别为DEBUG
  9. # 创建一个文件处理器,并设置日志文件的路径
  10. # file_handler = logging.FileHandler(f"./logs/{file_name}.log", encoding="utf-8")
  11. log_file_path = os.path.join("./logs", f"{file_name}.log")
  12. file_handler = TimedRotatingFileHandler(
  13. filename=log_file_path,
  14. when="midnight", # 每天午夜轮转
  15. interval=1, # 每隔1天轮转一次
  16. encoding="utf-8"
  17. )
  18. # 设置文件处理器的日志级别
  19. file_handler.setLevel(logging.DEBUG)
  20. # 创建一个控制台处理器(可选,用于同时输出到控制台)
  21. console_handler = logging.StreamHandler()
  22. console_handler.setLevel(logging.DEBUG)
  23. # 创建一个格式化器,并设置日志条目的格式
  24. formatter = logging.Formatter('%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(message)s')
  25. # 将格式化器添加到处理器
  26. file_handler.setFormatter(formatter)
  27. console_handler.setFormatter(formatter)
  28. # 将处理器添加到日志记录器
  29. logger.addHandler(file_handler)
  30. logger.addHandler(console_handler)
  31. return logger