python 简单实现日志功能以及实现每天自动产生新的日志文件
您可以使用logging
模块来实现简单的日志功能,并结合datetime
模块来每天生成新的日志文件。以下是一个示例代码:
import logging
from logging.handlers import TimedRotatingFileHandler
import datetime
# 创建logger
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)
# 创建TimedRotatingFileHandler,每天轮换日志文件
log_file = 'my_app.log'
time_rotating_handler = TimedRotatingFileHandler(log_file, when='midnight', interval=1, backupCount=30)
time_rotating_handler.setLevel(logging.DEBUG)
# 创建formatter并添加到handler
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
time_rotating_handler.setFormatter(formatter)
# 将handler添加到logger
logger.addHandler(time_rotating_handler)
# 测试日志
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
# 运行程序,查看每天生成的新日志文件
这段代码设置了一个名为my_logger
的日志器,日志文件为my_app.log
,并且会每天自动轮换,保留最多30个备份。日志文件的命名会包含日期信息,例如my_app.log.2023-03-28.0
。日志文件的格式包括时间、日志器名称、日志级别和消息内容。
评论已关闭