我的定时任务会在每天早上5点钟调一个交易,交易中日志用的logging模块,今天发现log有问题,排查如下。
查看日志的时候发现本应5点打的日志,日志时间却显示为
2016-09-12 21:00:02,379 - INFO - novel.py[line:82] - 择天记
查了一遍代码,没有发现问题,然后发现21点和5点差了8个小时,也就是说日志打的是utc时间
网上去搜相关的信息,一个帖子说他用logging的时候,使用TimedRotatingFileHandler后会把今天的日志打到昨天的日志文件中,感觉和我的问题很类似,去看TimedRotatingFileHandler模块
查看TimedRotatingFileHandler没发现明显问题,所以把代码简化了一下,想debug看一看是哪里时间改变了
第一遍运行结果出来,fuck,结果是正确的
后来想我是在windows测试的,这个问题会不会只在linux中出现,然后把代码拷到linux下,执行,果然出了问题。
比较了windows下和linux下的logging模块代码,有一些不同,但是没有和时间相关的不同
下一步,搞个linux环境,装个IDE,去debug一下,看看是哪里出的问题