Python 的默认日志格式化程序是什么?

新手上路,请多包涵

我正在尝试破译我的日志中包含的信息(日志设置使用默认格式化程序)。 文件 指出:

对记录进行格式化 - 如果设置了格式化程序,请使用它。否则,使用模块的默认格式化程序。

但是,我找不到任何实际说明此默认格式的参考资料。

原文由 Trent 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 447
2 个回答

默认格式位于 此处,即:

 BASIC_FORMAT = "%(levelname)s:%(name)s:%(message)s"

格式 代码将告诉您如何自定义它。这是一个关于如何自定义它的示例。

 import sys
import logging

logging.basicConfig(
    level=logging.DEBUG,
    format="[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s",
    datefmt="%d/%b/%Y %H:%M:%S",
    stream=sys.stdout)

logging.info("HEY")

结果是:

 [26/May/2013 06:41:40] INFO [root.<module>:1] HEY

原文由 rh0dium 发布,翻译遵循 CC BY-SA 4.0 许可协议

import logging
print(logging.BASIC_FORMAT)

旧线程,但这首先出现在我的谷歌搜索结果中,查询“python 日志记录默认格式”,所以我想我应该添加我的答案。

还有一些评论问到一个人怎么会自己发现这一点。这是一件很自然的事情:

 import logging
print(dir(logging))

BASIC_FORMAT 在那里,实际上它是我的结果中的第一个条目。

原文由 awhan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题