3
我設置時區的settings.py
文件我的Django項目:Django的:保持UTC時間記錄而改變TIME_ZONE設置
TIME_ZONE = 'US/Eastern'
,現在我的日誌包含美國/東部時間。
我想在我的日誌中保留UTC時間。那可能嗎?
我設置時區的settings.py
文件我的Django項目:Django的:保持UTC時間記錄而改變TIME_ZONE設置
TIME_ZONE = 'US/Eastern'
,現在我的日誌包含美國/東部時間。
我想在我的日誌中保留UTC時間。那可能嗎?
Django使用Python的日誌記錄工具,所以在這裏不應該有任何Django特定的東西。
根據the logging documentation,設置logging.Formatter.converter = time.gmtime
應使所有日誌以UTC輸出。
或者,您也可以使自己的Formatter
類使用UTC:
class UtcFormatter(logging.Formatter):
converter = time.gmtime
,然後使用在dictconfig的()
鍵(記錄here)進行配置:
LOGGING = {
'formatters': {
'utc': {
'()': 'my.package.UtcFormatter',
'format': '...',
'datefmt': '...',
}
}
}
Django的只是使用Python日誌記錄,所以搜索。這看起來像一個簡單的方法:http://stackoverflow.com/a/8334378/2395796。 – 2014-10-18 04:48:55
它似乎不像你可以在日誌dictconfig中更改它。格式化程序只接受format和datefmt,而我沒有看到爲Formatter設置類的方法。 – Michael 2014-10-18 20:01:25
我想你可以通過鍵「()」來實現這個功能。請參閱[這裏](https://docs.python.org/3/library/logging.config.html#user-defined-objects)。 – 2014-10-19 02:36:24