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