我想知道如何使用 python 的日志包更改 logRecoed 中级别名称的格式。
formatter = logging.Formatter('%(levelname)-8s %(message)s')
基本上,我想将任何日志名称替换为名称的第一个字母。例如,
INFO -> I,
WARNING -> W,
ERROR -> E,
等等
最佳答案
您可以使用精度 字段来设置最大 字段宽度:
formatter = logging.Formatter('%(levelname).1s %(message)s')
.1
将字段宽度设置为最多一个字符,将级别截断到第一个字符:
>>> for level in ('CRITICAL', 'ERROR', 'INFO', 'WARNING', 'DEBUG'):
... print '%(level)-.1s %(message)s' % {'level': level, 'message': 'Hello world!'}
...
C Hello world!
E Hello world!
I Hello world!
W Hello world!
D Hello world!
参见 String Formatting Operations documentation :
Conversion:
's'
Meaning: String (converts any Python object usingstr()
).
Notes: (6)
- [...] The precision determines the maximal number of characters used.
关于python - 更改 logRecord 中的 levelname 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27453056/