问题
I set the time zone in the settings.py
file of my django project:
TIME_ZONE = 'US/Eastern'
and now my logs contain US/Eastern times.
I would like to keep an UTC time in my logs. Is that possible?
回答1:
Django uses Python's logging facilities, so there shouldn't be anything Django-specific here.
According to the logging documentation, setting logging.Formatter.converter = time.gmtime
should make all logs output in UTC.
Alternatively, you can make your own Formatter
class to use UTC:
class UtcFormatter(logging.Formatter):
converter = time.gmtime
And then configure it using the ()
key (documented here) in the dictconfig:
LOGGING = {
'formatters': {
'utc': {
'()': 'my.package.UtcFormatter',
'format': '...',
'datefmt': '...',
}
}
}
来源:https://stackoverflow.com/questions/26435764/how-to-keep-utc-time-in-logging-while-changing-the-time-zone-settings