Python日志记录:如何将时间设置为GMT
只设置logging.Formatter.converter = time.gmtime
是无效的我在Python 2.5。
所以我创建了一个子类时将其设置,并使用到位logging.Formatter的:
class UTCFormatter(logging.Formatter):
converter = time.gmtime
(它在2.5中对我有效,以防万一。) – 2012-07-03 12:13:49
在Python 2.7中为我工作。因为它有点棘手,所以添加了一个建议的编辑,显示了实例化的YAML语法。 (不需要'__init __()'方法,因为我建议编辑第一个编辑。) – evadeflow 2015-02-09 15:30:30
我已经受够了这两种回答的问题。所以我只是改变了整个脚本的全球时区:
os.environ['TZ'] = 'Europe/London'
time.tzset()
请小心,因为伦敦在夏季不是格林威治标准时间。 – 2012-08-15 21:47:49
我发现这是在Linux上使用Python 2.7的工作原理。值得使用Linux tzselect命令进行检查,无论您指定什么是系统上的有效时区,并使用'date'命令在Python之外进行测试。 Django似乎可以处理它的设置,但是在从非Django Python脚本进行Python日志记录时,我遇到了错误的时区。 – RichVel 2013-01-01 17:38:44
这是错误的!在伦敦的时区不能保证是永久的UTC。 – Federico 2016-01-19 18:15:22
而且我现在也更新了官方的HTML文档 - 应该很快出现3.2和3.3,几天后出现2.7。 – 2011-06-12 10:52:23
描述[这里](http://docs.python.org/2/library/logging.html#logging.Formatter)。如果要将格式化程序附加到处理程序,首先需要使用** formatter = logging.Formatter(fmt)**创建格式化程序,然后执行** formatter.converter = time.gmtime **,然后执行** myHandler。 setFormatter(格式化程序)** – 2014-03-15 04:46:24
@VinaySajip如何设置它在日志dictConfig?我使用Django使用logging.dictConfig来配置日志记录部分。谢谢 – Michael 2014-10-18 20:02:37