2014-02-20 7 views
0

Pythonlogging 코드에 타임 스탬프를 추가하려고합니다.Python - 포맷터와 getLogger를 사용하여 로깅

logging.basicConfig(format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s', 
        datefmt='%m-%d %H:%M') 
log = logging.getLogger('Test_Service') 

log.info(' Hello World') 

그러나 출력은 보여줍니다 : 나는 타임 스탬프를 포함 할 수 있도록

INFO:Test_Service: Hello World 

가 어떻게 포맷터 여기에 작업을 얻을 수

나는 코드가?

+0

여기에 표시하는 코드보다 먼저 로깅 모듈을 사용 했습니까? – offbyone

답변

0

다른 번호로 basicConfig()이 먼저 호출되므로 아무런 효과가 없습니다. 코드에서 basicConfig()에 한 통화 만이

  1. , 그리고는 main()를 호출하기 전에 if __name__ == '__main__ 절에서 main()에의하거나 전화 :

    당신은 그것을 확인해야합니다.

  2. 코드에 logginglogging.debug()과 같은 모듈 수준 함수가 자동으로 호출되지 않습니다. 이러한 호출은 basicConfig()을 자동으로 호출합니다. 이러한 호출을 logger.debug()으로 바꾸십시오. 여기서 loggerLogger 인스턴스입니다 (루트 로거가 허용됨 - 모듈 수준 편의 기능을 호출하지 마십시오).

  3. 가 여전히 작동하지 않으면

    , 당신은 basicConfig() (라이브러리 코드가 결코이 작업을 수행한다)를 호출 타사 코드를 사용하고 추가 조사를해야합니다.

관련 문제