Python日志记录的输出时间比系统提前4小时

时间:2010-06-09 11:56:35

标签: python

我的系统在Linux中设置为EDT,我可以使用datetime.now()在Python中确认。然而,记录器提前4小时输出。可能是什么原因造成的?

编辑:记录配置如下所示:

logging.basicConfig(level=logging.DEBUG)
lf = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")

mylogger = logging.getLogger('mylogger')
mylogger .setLevel(logging.DEBUG)

lsh = logging.StreamHandler()
lsh.setLevel(logging.DEBUG)
lsh.setFormatter(lf)
mylogger.addHandler(lsh)

2 个答案:

答案 0 :(得分:1)

您的记录器正在使用UTC时间。如果您向我们展示您的代码,就可以确切地说出原因。

答案 1 :(得分:1)

我认为格林威治标准时间提前4小时对您来说意义重大。浏览日志记录的代码 - 它似乎使用time而不是datetime。显然,他们在确定当地时间方面的工作方式不同。

以下输出是什么?:

import time
print time.tzname

AFAIK,用于控制记录使用的偏移量。根据{{​​3}},您想调整“系统的zoneinfo数据库以指定时区规则”(man tzfile)。