替换Python记录器中的时间戳

时间:2017-10-02 18:05:27

标签: python python-2.7 datetime logging timestamp

我使用Python 2.7标准logging模块为我们的系统进行日志记录。偶尔,我们会对过去的事件进行模拟,如果不使用datetime.now()中的系统时间,我就可以使用自己的自定义系统时间。

我知道有一种方法可以使用Formatter来改变时间字符串格式,但我是否真的可以改变记录时间字符串的内容?

非常感谢

1 个答案:

答案 0 :(得分:1)

来自:https://docs.python.org/3/howto/logging.html#formatters

  

Formatters使用用户可配置的函数将记录的创建时间转换为元组。默认情况下,使用time.localtime(); 要为特定格式化程序实例更改此值,请将实例的converter属性设置为与time.localtime()或time.gmtime()具有相同签名的函数。要为所有格式化程序更改它,例如,如果您希望所有记录时间都以GMT显示,请在Formatter类中设置converter属性(到GMT显示的time.gmtime)。

因此,将自定义系统时间定义为匹配time.localtime()签名并将其分配给记录器的函数。