我想知道如何使用python的日志包更改logRecoed中的levelname格式.
formatter = logging.Formatter('%(levelname)-8s %(message)s')
Run Code Online (Sandbox Code Playgroud)
基本上,我想将任何日志名称替换为名称的第一个字母.例如,
INFO -> I,
WARNING -> W,
ERROR -> E,
Run Code Online (Sandbox Code Playgroud)
等等
Mar*_*ers 26
您可以使用precision字段设置最大字段宽度:
formatter = logging.Formatter('%(levelname).1s %(message)s')
Run Code Online (Sandbox Code Playgroud)
.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!
Run Code Online (Sandbox Code Playgroud)
请参阅字符串格式化操作文档:
转换:
's'
含义:String(使用转换任何Python对象str()).
备注:(6)
- [...]精度确定使用的最大字符数.
如果您想要完全不同的级别名称,请使用 logging.addLevelName
logging.addLevelName(logging.DEBUG, 'DETAILED')
logging.addLevelName(logging.INFO, 'GENERAL')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2215 次 |
| 最近记录: |