访问处理程序对象到翻转日志

时间:2016-11-08 08:31:48

标签: python logging

当我使用logging.config.dictConfig设置日志时,如何翻转我的日志?我无法检索logging.handlers.RotatingFileHandler

import logging 
import logging.config


logging.config.dictConfig({
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'default': {
            'class':'logging.handlers.RotatingFileHandler',
            "level": "DEBUG",
            "filename": "test.log",
            'backupCount': 5,
            'maxBytes': 20,
        },
    },
    'loggers': {
        '': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        }
    }
})

# How do I do rollover??
logging.handler[0].doRollover()

logging.info("foo")

1 个答案:

答案 0 :(得分:0)

您可以使用logging.getLogger().handlers访问根处理程序,因此,如果您只有一个,则可以执行类似

的操作
for h in logging.getLogger().handlers:
    if type(h) == logging.handlers.RotatingFileHandler:
        h.doRollover()