[英]Including date in the log file name & creating log files of certain size while keeping last 3 log files in python with `logging.config.dictConfig()`
我正在使用配置设置 python 记录器。 我希望日志文件包含日期(可能还有时间)。 我还希望在那个日期,每个日志文件只有特定的大小,并且只保留 3 个这样的旧日志文件。
例如,我想获取以下形式的日志文件:
mylog-2018-09-11.log
mylog-2018-09-11.log.1
mylog-2018-09-11.log.2
mylog-2018-09-11.log.3
我试着用RotatingFileHandler以下形式解释的配置在这里:
config = {
#...
'handlers': {
'file': {
'class': 'logging.handlers.RotatingFileHandler',
'filename': 'mplog.log',
'mode': 'w',
'formatter': 'detailed',
'maxBytes': 10000,
'backupCount': 3
},
},
#...
}
logging.config.dictConfig(config)
并生成如下日志文件:
mylog.log
mylog.log.1
mylog.log.2
mylog.log.3
但我无法理解,如何在日志文件名中获取日期。 是否可以使用配置和一些处理程序来完成它,比如RotatingFileHandler
或TimeRotatingFileHandler
? 或者说我可以在dictConfig()
调用后以某种方式设置日志文件名以包含日期吗?
您的示例显示了一个RotatingFileHandler
,它根据大小而不是日期旋转文件。 您需要使用TimedRotatingFileHandler
作为记录在这里。 您可以按照与完成RotatingFileHandler
相同的方式对其进行配置。
更新:如果你想同时限制日期和大小,你将需要使用一个处理程序子类,它完全符合你的要求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.