15

Python 日志记录使用我在 python 其他地方看不到的语法格式化字符串,比如

 'format': '%(name)s'

有什么方法可以使用格式化程序截断错误消息,还是我需要为此重写 LogRecord 类?

这会截断部分消息(尽管我在正常位置找不到此功能的文档):

 'format': '%(name).40s %(message).40s'

如果可能的话,我宁愿截断整个格式化消息(例如,对于 80 列控制台)。

4

1 回答 1

28

这只是字符串格式的旧样式。我认为您可以只使用“.L”,其中 L 是将字符串截断为您喜欢的任何长度的长度。例如:

'format': '%(name).5s'  

会将长度截断为 5 个字符。

有点难找,但他们确实在文档中提到了它:

精度是一个十进制数,表示在使用“f”和“F”格式的浮点值的小数点后应显示多少位,或在使用“g”或格式的浮点值的小数点前后显示多少位'G'。对于非数字类型,该字段指示最大字段大小 - 换句话说,从字段内容中将使用多少个字符

于 2013-05-28T18:50:51.727 回答