log_config.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import os
  2. import time
  3. import json
  4. import logging
  5. from config import log_root_path
  6. # 封装logging
  7. class LogConfig():
  8. def __init__(self, log_path, logger_name):
  9. '''
  10. 指定保存日志的文件路径,日志级别,以及调用文件
  11. 将日志存入到指定的文件中
  12. '''
  13. # 创建logger对象
  14. self.logger = logging.getLogger(logger_name)
  15. self.log_path = log_path
  16. # 设置日志等级
  17. self.logger.setLevel(logging.INFO) # DEBUG
  18. # 追加写入文件a ,设置utf-8编码防止中文写入乱码
  19. fh = logging.FileHandler(self.log_path, mode='a', encoding='utf8', delay=True)
  20. # 向文件输出的日志级别
  21. fh.setLevel(logging.INFO)
  22. # 向文件输出的日志信息格式
  23. formatter_dict = {
  24. "sys-msg": "%(asctime)s-%(filename)s-%(lineno)s-%(levelname)s",
  25. "log-msg": "%(message)s",
  26. }
  27. formatter = logging.Formatter(json.dumps(formatter_dict))
  28. # 将日志信息格式加载到日志文件中
  29. fh.setFormatter(formatter)
  30. # 加载文件到logger对象中
  31. self.logger.addHandler(fh)
  32. # 获取生成日志读写操作
  33. def get_log(self):
  34. return self.logger
  35. # 重置刷新日志
  36. def log_reset(self):
  37. file_list = os.listdir(log_root_path)
  38. file_path_list = [os.path.join(log_root_path, file) for file in file_list]
  39. # 删除路径名称文件
  40. if len(file_path_list) > 0:
  41. for ele in file_path_list:
  42. os.remove(ele[0])