2024-05-16 10:32:48 发布
网友
我正在尝试破译日志中包含的信息(日志设置使用默认格式化程序)。documentation声明:
Do formatting for a record - if a formatter is set, use it. Otherwise, use the default formatter for the module.
但是,我找不到任何实际说明此默认格式的引用。
默认值似乎是%(levelname)s:%(name)s:%(message)s
%(levelname)s:%(name)s:%(message)s
import logging logging.error("Some error") print "fmt: " , logging.root.handlers[0].formatter._fmt # ERROR:root:Some error # fmt: %(levelname)s:%(name)s:%(message)s
默认格式位于here,即:
BASIC_FORMAT = "%(levelname)s:%(name)s:%(message)s"
Format代码将告诉您如何自定义它。下面是一个关于如何自定义它的示例。
import sys import logging logging.basicConfig( level=logging.DEBUG, format="[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s", datefmt="%H:%M:%S", stream=sys.stdout) logging.info("HEY")
结果是:
[26/May/2013 06:41:40] INFO [root.<module>:1] HEY
import logging print(logging.BASIC_FORMAT)
旧的线程,但这首先出现在我的google搜索结果的查询“python日志默认格式”,所以我想我应该添加我的答案。
还有一些评论问到,一个人怎么可能自己发现这一点。这是一件很自然的事情:
import logging print(dir(logging))
基本的_格式在那里,事实上它是我的案例中结果的第一个条目。
默认值似乎是
%(levelname)s:%(name)s:%(message)s
默认格式位于here,即:
Format代码将告诉您如何自定义它。下面是一个关于如何自定义它的示例。
结果是:
旧的线程,但这首先出现在我的google搜索结果的查询“python日志默认格式”,所以我想我应该添加我的答案。
还有一些评论问到,一个人怎么可能自己发现这一点。这是一件很自然的事情:
基本的_格式在那里,事实上它是我的案例中结果的第一个条目。
相关问题 更多 >
编程相关推荐