로깅 표준 시간대를 GMT로 설정하는 것이 가능한가?파이썬 로깅 : 시간을 GMT로 설정하는 방법
(형식 즉 %(asctime)s
파라미터) (logging.Formatter.formatTime
의 참조 문에 설명)
로깅 표준 시간대를 GMT로 설정하는 것이 가능한가?파이썬 로깅 : 시간을 GMT로 설정하는 방법
(형식 즉 %(asctime)s
파라미터) (logging.Formatter.formatTime
의 참조 문에 설명)
logging.Formatter.converter = time.gmtime
그냥 logging.Formatter.converter = time.gmtime
설정하면 파이썬 2.5 날 위해 비효율적이다.
class UTCFormatter(logging.Formatter):
converter = time.gmtime
(누군가를 돕기 위해 2.5에서 나를 위해 일했습니다.) –
나를 위해 파이썬 2.7에서 일했습니다. 조금 까다 롭기 때문에 인스턴스화를위한 YAML 구문을 보여주는 제안 된 편집을 추가했습니다. (첫 편집에서 제안한 것처럼'__init __()'메서드가 필요하지 않습니다.) – evadeflow
나는이 답변 모두 문제를 했어. 그래서 전체 스크립트의 글로벌 표준 시간대를 변경했습니다.
os.environ['TZ'] = 'Europe/London'
time.tzset()
런던은 여름에 GMT 시간이 아니므로 조심하십시오. –
이 답변은 Linux에서 Python 2.7을 사용하여 작동하는 것으로 나타났습니다. 리눅스 tzselect 명령을 사용하여 검사 할 가치가있는 것은 사용자가 지정한 것은 시스템의 유효한 시간대이며 'date'명령으로 Python 외부에서 테스트하는 것입니다. Django는이 설정을 처리하는 것처럼 보이지만 비 장고 파이썬 스크립트에서 파이썬 로깅을 할 때 잘못된 시간대를 얻게됩니다. – RichVel
올바르지 않습니다! 런던의 시간대는 UTC가 될 수 있습니다. – Federico
그리고 이제는 공식적인 HTML 설명서도 업데이트되었습니다. 곧 3.2 및 3.3 및 몇 일 동안 2.7에 표시 될 것입니다. –
[여기] (http://docs.python.org/2/library/logging.html#logging.Formatter)에 설명되어 있습니다. 포맷터를 핸들러에 연결하려면 먼저 ** formatter = logging.Formatter (fmt) **로 포맷터를 작성한 다음 ** formatter.converter = time.gmtime **과 ** myHandler를 차례로 수행해야합니다. setFormatter (formatter) ** –
@VinaySajip 로깅 dictConfig에서 어떻게 설정합니까? 로깅 부분을 구성하기 위해 logging.dictConfig를 사용하는 Django를 사용합니다. 감사합니다 – Michael