用户水军识别应用
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.4 KiB

  1. #coding:utf8
  2. import logging
  3. import os
  4. import sys
  5. from logging.handlers import TimedRotatingFileHandler
  6. import re
  7. # cur_dir = os.path.dirname( os.path.abspath(__file__)) or os.getcwd()
  8. # sys.path.append(cur_dir + '/log_util')
  9. def set_logger(filename):
  10. # 创建logger对象。传入logger名字
  11. logger = logging.getLogger(filename)
  12. # log_path = os.path.join(cur_dir, filename)
  13. # 设置日志记录等级
  14. logger.setLevel(logging.INFO)
  15. # interval 滚动周期,
  16. # when="MIDNIGHT", interval=1 表示每天0点为更新点,每天生成一个文件
  17. # backupCount 表示日志保存个数
  18. file_handler = TimedRotatingFileHandler(
  19. filename=filename, when="MIDNIGHT",encoding="utf-8", interval=1, backupCount=3
  20. )
  21. # filename="mylog" suffix设置,会生成文件名为mylog.2020-02-25.log
  22. file_handler.suffix = "%Y-%m-%d.log"
  23. # extMatch是编译好正则表达式,用于匹配日志文件名后缀
  24. # 需要注意的是suffix和extMatch一定要匹配的上,如果不匹配,过期日志不会被删除。
  25. file_handler.extMatch = re.compile(r"^\d{4}-\d{2}-\d{2}.log$")
  26. # 定义日志输出格式
  27. file_handler.setFormatter(
  28. logging.Formatter(
  29. "[%(asctime)s] [%(process)d] [%(levelname)s] - %(module)s.%(funcName)s (%(filename)s:%(lineno)d) - %(message)s"
  30. )
  31. )
  32. logger.addHandler(file_handler)
  33. return logger