2012-01-26 4 views
2

Python 2.7에서 인쇄하기보다 콘솔에 로그온하려고합니다.콘솔에 로그를 가져 오려고 시도합니다.

이 메소드를 작성하고 처음부터 호출합니다.

... 
logging.info(">>do_nightlies()"); 

을 그리고 그것은 작동하지 않습니다 subsquent 방법에서

def set_up_logging(): 
    log = logging.getLogger() 
    ch = logging.StreamHandler() 
    ch.setLevel(logging.INFO) 
    log.addHandler(ch); 

내가 할.

감사합니다.

감사합니다.

답변

3

로거와 핸들러 모두 최소 레벨을가집니다. 처리기의 loglevel을 설정하지만 로거의 loglevel을 설정하지 않았습니다. 로거 레벨의 기본값은 logging.WARNING이므로 info() 호출은 처리기로 전달되지 않습니다.

대부분 (당신은뿐만 아니라 logging.INFO에 로거의 레벨을 설정 ::

def set_up_logging(): 
    log = logging.getLogger() 
    log.setLevel(logging.INFO) 
    ch = logging.StreamHandler() 
    ch.setLevel(logging.INFO) 
    log.addHandler(ch) 
+0

+1을하여 문제를 해결할 수 있습니다, 당신은 실제로 로거 *와 * 핸들러에서 모두 레벨을 설정할 필요가 없습니다 사례). 로거와 필요할 때만 처리기에서 설정하십시오 (로거의 레벨이 먼저 확인되고 나중에 핸들러의 레벨이 확인되므로 레벨을 로거에 적용하여 불필요한 작업을 줄일 수 있습니다). 핸들러에 레벨을 설정하는 것은 완벽하지만 유효하지는 않습니다. –

관련 문제