2024-06-01 06:07:43 发布
网友
我想修改python日志记录,以记录从脚本启动(或日志模块初始化)开始经过的时间。在
000:00 DEBUG bla bla 000:01 ERROR wow! ... this is measured in minutes:seconds
我在日志模块中找到了relativeCreated变量,但这只会使我获得毫秒级的准确度,这只会垃圾发送日志,从而使我们更难了解时间的去向或日志的运行时间。在
relativeCreated
我该怎么做?在
您可以使用logging.Formatter子类,该子类从传递给其format方法的LogRecord获取{},将其格式化为分钟:秒和在格式字符串中输出,例如在格式字符串中使用不同的占位符,例如%(adjustedTime)s:
logging.Formatter
format
LogRecord
%(adjustedTime)s
class MyFormatter(logging.Formatter): def format(self, record): record.adjustedTime = format_as_mins_and_secs(record.relativeCreated) return super(MyFormatter, self).format(record)
其中可以定义format_as_mins_and_secs以返回格式化的相对时间。在
format_as_mins_and_secs
首先在我脑海中浮现。在
我现在并没有写任何代码来激励您阅读更多关于所提到的模块的信息)。在
我不确定您是否可以使用loggingpython模块来实现这一点(我可能错了)。在
logging
但是,如果您需要应用程序的运行时,我建议您应该在一个变量中捕获应用程序启动时的时间(使用time模块)。一旦捕捉到时间,就可以将该变量传递给记录器,以便在遇到错误时计算差异。在
time
您可以使用},将其格式化为分钟:秒和在格式字符串中输出,例如在格式字符串中使用不同的占位符,例如
logging.Formatter
子类,该子类从传递给其format
方法的LogRecord
获取{%(adjustedTime)s
:其中可以定义
format_as_mins_and_secs
以返回格式化的相对时间。在首先在我脑海中浮现。在
我现在并没有写任何代码来激励您阅读更多关于所提到的模块的信息)。在
我不确定您是否可以使用
logging
python模块来实现这一点(我可能错了)。在但是,如果您需要应用程序的运行时,我建议您应该在一个变量中捕获应用程序启动时的时间(使用
time
模块)。一旦捕捉到时间,就可以将该变量传递给记录器,以便在遇到错误时计算差异。在相关问题 更多 >
编程相关推荐