python 按天存储日志



新建日志文件:

import os
import logging
import re
from logging.handlers import TimedRotatingFileHandler
import colorlog

def setup_log(log_name):
# 创建logger对象。传入logger名字
logger = logging.getLogger(log_name)

log_path = os.path.join(‘log//’,log_name)
# 设置日志记录等级
logger.setLevel(logging.DEBUG)
#logging.basicConfig(level=logging.DEBUG)
# interval 滚动周期,
# when=”MIDNIGHT”, interval=1 表示每天0点为更新点,每天生成一个文件
# backupCount 表示日志保存个数
file_handler = TimedRotatingFileHandler(
filename=log_path, when=”MIDNIGHT”, interval=1, backupCount=30
)
# 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] [%(levelname)s]: %(message)s”
)
)
logger.addHandler(file_handler)
#logger.addHandler(output_handler)
return logger

在程序中调用:

import myLogger

logger=myLogger.setup_log(“XXXX”)

logger.debug(“this a test”)