Python logging使用我在python中没有看到的语法格式化字符串,比如
'format': '%(name)s'
有没有办法使用格式化程序截断错误消息,还是我需要覆盖LogRecord类?
这会截断部分消息(虽然我在normal places中找不到此功能的文档):
'format': '%(name).40s %(message).40s'
如果可能的话,我宁愿截断整个格式化的消息(例如,对于80列控制台)。
答案 0 :(得分:15)
这只是字符串格式的旧样式。 我认为你可以使用“.L”,其中L是将字符串截断到你喜欢的任何长度的长度。例如:
'format': '%(name).5s'
会将长度截断为5个字符。
有点难找,但实际上他们确实在docs中提到了它:
精度是一个十进制数,表示在用'f'和'F'格式化的浮点值的小数点后面应显示多少位数,或者用''格式化的浮点值的小数点前后g'或'G'。对于非数字类型,该字段表示最大字段大小 - 换句话说,将使用字段内容中使用的字符数