Python:截断的日志记录级别名称(字符串格式)自定义
Python: truncated logging level names (string formatting) customization
我正在使用 pythons 日志模块,我想对我的日志消息进行简单的更改。这是格式化程序的样子,结果是:
console_err_format = logging.Formatter(
str("%(asctime)s - " + "%(levelname)s" +" - %(message)s"),
"%H:%M:%S")
12:35:33 - INFO - Assessing reads and library type
12:35:33 - DEBUG - Checking reads...
12:35:33 - WARNING - Error while checking reads...
我只想显示记录器级别的第一个字符:
12:35:33 - I - Assessing reads and library type
12:35:33 - D - Checking reads...
12:35:33 - W - Error while checking reads...
有人知道怎么做吗?我尝试了以下方法,但无济于事:
# attempt 1
console_err_format = logging.Formatter(
str("%(asctime)s - " +"{0}".format("%(levelname)s"[:1]) +" - %(message)s"), "%H:%M:%S")
# attempt 2
console_err_format = logging.Formatter(
str("%(asctime)s - " +"%(levelname)s"[:1] +" - %(message)s"), "%H:%M:%S")
如有任何提示,我们将不胜感激!如果有人知道如何集成其中一种颜色记录模块,可加分!
我不确定如何使用格式化程序来完成此操作,但您可以将内置关卡名称字符串替换为您自己的字符串。例如:
logging.addLevelName(logging.WARNING, 'W')
将与警告级别关联的字符串替换为单个字符 'W'。对所有级别重复上述操作将产生预期的效果。
使用 1 个字符精度的格式说明符,如下例所示:
>>> import logging
>>> logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname).1s %(message)s')
>>> logging.debug('Message should be as required')
2017-11-01 00:47:31,409 D Message should be as required
>>> logging.warning('Warning message should be as required')
2017-11-01 00:47:50,702 W Warning message should be as required
>>>
请注意 %(levelname)
说明符中 s
前面的 .1
,它将该值的输出限制为一个(第一个)字符。
我正在使用 pythons 日志模块,我想对我的日志消息进行简单的更改。这是格式化程序的样子,结果是:
console_err_format = logging.Formatter(
str("%(asctime)s - " + "%(levelname)s" +" - %(message)s"),
"%H:%M:%S")
12:35:33 - INFO - Assessing reads and library type
12:35:33 - DEBUG - Checking reads...
12:35:33 - WARNING - Error while checking reads...
我只想显示记录器级别的第一个字符:
12:35:33 - I - Assessing reads and library type
12:35:33 - D - Checking reads...
12:35:33 - W - Error while checking reads...
有人知道怎么做吗?我尝试了以下方法,但无济于事:
# attempt 1
console_err_format = logging.Formatter(
str("%(asctime)s - " +"{0}".format("%(levelname)s"[:1]) +" - %(message)s"), "%H:%M:%S")
# attempt 2
console_err_format = logging.Formatter(
str("%(asctime)s - " +"%(levelname)s"[:1] +" - %(message)s"), "%H:%M:%S")
如有任何提示,我们将不胜感激!如果有人知道如何集成其中一种颜色记录模块,可加分!
我不确定如何使用格式化程序来完成此操作,但您可以将内置关卡名称字符串替换为您自己的字符串。例如:
logging.addLevelName(logging.WARNING, 'W')
将与警告级别关联的字符串替换为单个字符 'W'。对所有级别重复上述操作将产生预期的效果。
使用 1 个字符精度的格式说明符,如下例所示:
>>> import logging
>>> logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname).1s %(message)s')
>>> logging.debug('Message should be as required')
2017-11-01 00:47:31,409 D Message should be as required
>>> logging.warning('Warning message should be as required')
2017-11-01 00:47:50,702 W Warning message should be as required
>>>
请注意 %(levelname)
说明符中 s
前面的 .1
,它将该值的输出限制为一个(第一个)字符。