如何将python日志记录更改为显示脚本执行开始时的时间?

sor*_*rin 3 python logging

我想修改python日志记录以记录脚本启动时(或初始化日志记录模块时)所用的时间.

000:00 DEBUG bla bla
000:01 ERROR wow! ... this is measured in minutes:seconds
Run Code Online (Sandbox Code Playgroud)

relativeCreated在日志记录模块中找到了这个变量,但这给了我毫秒级的准确性,这只会使日志垃圾邮件,更难以查看时间到了什么或运行日志的时间.

我怎样才能做到这一点?

Vin*_*jip 7

您可以使用从传递给它的方法logging.Formatter获取的子类,将其格式化为mins:secs并以格式字符串输出它,例如使用格式字符串中的不同占位符,例如:relativeCreatedLogRecordformat%(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)
Run Code Online (Sandbox Code Playgroud)

您可以在其中定义format_as_mins_and_secs以返回格式化的相对时间.