2016-11-08 27 views
0

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") 

答えて

0

あなたはlogging.getLogger().handlersを使用してルートハンドラにアクセスすることができますので、あなただけのものを持っている場合は、

for h in logging.getLogger().handlers: 
    if type(h) == logging.handlers.RotatingFileHandler: 
     h.doRollover() 
ような何かを行う可能性があります
関連する問題