我的OpenERP日志显示UTC时区的时间戳,即使实际服务器位于America / Los_Angeles时区。这使得将OpenERP日志与服务器上的任何其他日志进行比较是一件痛苦的事。
如何让OpenERP日志处于正确的时区?
答案 0 :(得分:3)
这是决定强制OpenERP服务器进入UTC时区的副作用。对{7.0}源有一个bug report a patch,可以将日志恢复到正确的时区。
对于好奇的人来说,解决方案的核心是用一个足够智能的函数替换logging.Formatter.converter
以调整回本地时区:
def adjust_logging_timezone():
logger_tz = pytz.timezone(config['timezone'] or detect_server_timezone())
if logger_tz.zone != 'UTC':
def converter(secs=None):
dt = datetime(*time.localtime(secs)[:6])
dt = UTC.localize(dt).astimezone(logger_tz)
return dt.timetuple()
logging.Formatter.converter = staticmethod(converter)