2010-06-09 12 views
0

Linux에서 내 시스템이 EDT로 설정되어 있으며 파이썬에서 datetime.now()를 사용하여 이것을 확인할 수 있습니다. 그러나 로거는 4 시간 앞당겨 출력 중입니다. 이것의 원인이 무엇일까요?파이썬 로깅이 시스템보다 4 시간 앞서 출력됩니다.

편집 : 로깅 설정은 다음과 같습니다 로거는 UTC 시간을 사용

logging.basicConfig(level=logging.DEBUG) 
lf = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") 

mylogger = logging.getLogger('mylogger') 
mylogger .setLevel(logging.DEBUG) 

lsh = logging.StreamHandler() 
lsh.setLevel(logging.DEBUG) 
lsh.setFormatter(lf) 
mylogger.addHandler(lsh) 

답변

1

. 우리에게 당신의 코드를 보여 준다면, 정확히 그 이유를 말할 수있을 것입니다.

+0

로깅 설정에 대한 자세한 내용으로 수정되었습니다. – Rhubarb

+0

내가 보여준 것보다 더 많은 코드가 필요합니까? 그것은 로거와 관련된 모든 것에 관한 것입니다. – Rhubarb

+0

@rhubarb : 어떤 Python 버전을 사용하고 있습니까? – SilentGhost

1

앞으로 4 시간이 GMT라고 생각합니다. 로깅 코드를 파고 들자. datetime 대신에 time을 사용하는 것 같습니다. 외관상으로는 현지 시간을 계산할 때 다르게 작동합니다.

다음 출력?

import time 
print time.tzname 

AFAIK 상기 로깅을 사용하여 제어 오프셋이 무엇. documentation에 따르면 시스템의 zoneinfo 데이터베이스를 조정하여 표준 시간대 규칙을 지정하려고합니다 (man tzfile).

+0

그것은 EDT, EST입니다. 그래서 그것은 문제가되지 않습니다. – Rhubarb

관련 문제