[英]Python: truncated logging level names (string formatting) customization
[英]Python logging formatting by level
我正在使用python的日志库,但我希望调试日志的格式与警告和错误日志不同。 这可能吗?
ETA:我希望警告和错误显示为:
%(levelname)s: %(message)s
但调试语句显示为
DEBUG: (only Brian cares about this) : %(message)s
我见过的所有其他问题都是改变格式,但一切都改变了。
首先, 仔细检查你是否真的需要这个。 具有不同记录格式的日志输出很容易被人和机器读取。
也许您实际需要的是不同日志目标(控制台与文件)的不同格式,这些格式也会有不同的详细程度(该文件将包含带有附加信息的调试日志)。
现在,方法是使用自定义Formatter
:
class MultiformatFormatter(logging.Formatter):
def __init__(self,<args>):
<...>
def format(self,record):
if record.levelno <= logging.DEBUG:
s=<generate string one way>
else:
s=<generate string another way>
return s
<...>
#for each handler that this should apply to
handler.setFormatter(MultiformatFormatter(<args>))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.