import logging
from logging.handlers import TimedRotatingFileHandler
log_file_name = "./hello.log" # log输出文件名称
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') # 定义日志输出格式(formatter)
logger = logging.getLogger('mylogger') # 创建一个logger
logger.setLevel(logging.INFO) # 设置logger级别
BACKUP_FILES_COUNT = 3
# 日志切割,TimedRotatingFileHandler
# # 创建一个TimedRotatingFileHandler,用于日志切割
handler = TimedRotatingFileHandler(filename=log_file_name, when='M', interval=1, backupCount=BACKUP_FILES_COUNT)
"""
# Calculate the real rollover interval, which is just the number of
# seconds between rollovers. Also set the filename suffix used when
# a rollover occurs. Current 'when' events supported:
# S - Seconds
# M - Minutes
# H - Hours
# D - Days
# midnight - roll over at midnight
# W{0-6} - roll over on a certain day; 0 - Monday
#
# Case of the 'when' specifier is not important; lower or upper case
# will work.
"""
handler.setFormatter(formatter) # 给handler添加formatter
handler.suffix = '%Y-%m-%d_%H-%M' # 切割后的日志设置后缀
"""
# handler.suffix = '%Y-%m-%d_%H-%M' # 切割后的日志设置后缀
# 注意suffix需要和源码TimedRotatingFileHandler中self.suffix保持格式一直,不然可能会导致日志无法自动删除
"""
logger.addHandler(handler) # logger添加上handler
# 输出到控制台,StreamHandler
ch = logging.StreamHandler() # 创建一个StreamHandler,用于输出到控制台
ch.setLevel(logging.INFO) # 设置StreamHandler的log级别
ch.setFormatter(formatter) # 给handler添加formatter
logger.addHandler(ch) # logger添加handler
logger.debug("msg")
logger.info("msg")
logger.worning("msg")
logger.error("msg")
logging切割日志
原创wx5bbc67ce7b2af ©著作权
©著作权归作者所有:来自51CTO博客作者wx5bbc67ce7b2af的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
日志打印
日志打印
日志打印 Spring日志 日志框架选择与转换 -
日志切割 脚本集合 Tomcat日志切割 |Nginx日志切割|Mongo日志切割
Openresty日志切割|Mongo日志|Tomcat日志切割|
Mongo日志|Tomcat日志切割| -
Python logging 日志
Python日志详解,logging模块,Django和Flask日志基础
python 日志 logging 日志文件 日志记录