如何理解日志记录格式化程序?

时间:2016-08-10 04:00:40

标签: python logging

Python专家:

我是编程和学习日志记录python包的新手。

根据日志记录文档,我将日志消息的格式设置如下:

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')

以下是日志消息的输出:

2016-08-09 19:57:08,363 - DEBUG -             A   B
2016-01-31  0  12
2016-02-29 -1  12

如何将A B(datafram的列名)设为下一行?:

另外,请你帮我理解%(asctime)s - %(levelname)s - %(message)s?为什么把括号前的%和括号后的s放?

2016-08-09 19:57:08,363 - DEBUG -  
                A   B
    2016-01-31  0  12
    2016-02-29 -1  12

1 个答案:

答案 0 :(得分:3)

关于你的第一个问题:

只需为logging.debug

的通话添加额外换行符即可

例如,如果您的记录器被调用logger,并且您通过logging.debug(msg)记录消息,则可以调用logging.debug('\n' + msg)将消息移至换行符。

格式:%表示即将发布的文本应解析为格式说明符。括号()包围说明符的名称,尾随s将输入数据转换为字符串。请参阅:difference between str.format and %

因此,%(name)s允许您指定将转换为字符串的name。日志框架指定了不同的名称asctimelevelnamemessage