2016-11-08 1 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() 
처럼 뭔가를 할 수
관련 문제