这是我的配置文件:
[loggers]
keys=root
[handlers]
keys=TimedRotatingFileHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=TimedRotatingFileHandler
[handler_TimedRotatingFileHandler]
class=handlers.TimedRotatingFileHandler
level=DEBUG
formatter=simpleFormatter
args=('driver.log', 'midnight', 1, 30)
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
在我的代码中,我像这样设置和使用记录器:
import logging
import logging.config
logging.config.fileConfig('logging.conf')
logging.info('Some message...')
消息被记录到我指定的文件(driver.log)中,但从未发生在午夜的轮换。
该过程是否必须在午夜运行才能发生轮换?这是一个批处理过程,我每15分钟运行一次,实际上从未在午夜运行。
最佳答案
答案是,该过程必须一直运行,才能正常工作。
从http://bytes.com/topic/python/answers/595931-timedrotatingfilehandler-isnt-rotating-midnight: