How to keep UTC time in logging while changing the TIME_ZONE settings?

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?

5

1 Answer

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': '...', } }
}
3

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like