我想修改 python 日志记录以记录从脚本启动时(或初始化日志记录模块时)经过的时间。
000:00 DEBUG bla bla
000:01 ERROR wow! ... this is measured in minutes:seconds
我relativeCreated
在日志记录模块中找到了该变量,但这给了我毫秒级的准确性,这只会垃圾日志,使得更难看到时间去哪里或运行日志的方式。
我怎样才能做到这一点?
您可以使用从传递到其方法的logging.Formatter
子类,将其格式化为 mins:secs 并以格式字符串输出,例如在格式字符串中使用不同的占位符,例如:relativeCreated
LogRecord
format
%(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
返回格式化的相对时间。
首先在我脑海中浮现。
我现在不放任何代码来激励你阅读更多关于提到的模块)。
我不确定您是否可以使用logging
python 模块执行此操作(我可能是错的)。
但是,如果您需要应用程序的运行时,我会说您应该在变量中捕获应用程序启动的时间(使用time
模块)。捕获时间后,您可以将该变量传递给记录器,以计算遇到错误时的差异。