Python 日志记录使用我在 python 其他地方看不到的语法格式化字符串,比如
'format': '%(name)s'
有什么方法可以使用格式化程序截断错误消息,还是我需要为此重写 LogRecord 类?
这会截断部分消息(尽管我在正常位置找不到此功能的文档):
'format': '%(name).40s %(message).40s'
如果可能的话,我宁愿截断整个格式化消息(例如,对于 80 列控制台)。
Python 日志记录使用我在 python 其他地方看不到的语法格式化字符串,比如
'format': '%(name)s'
有什么方法可以使用格式化程序截断错误消息,还是我需要为此重写 LogRecord 类?
这会截断部分消息(尽管我在正常位置找不到此功能的文档):
'format': '%(name).40s %(message).40s'
如果可能的话,我宁愿截断整个格式化消息(例如,对于 80 列控制台)。
这只是字符串格式的旧样式。我认为您可以只使用“.L”,其中 L 是将字符串截断为您喜欢的任何长度的长度。例如:
'format': '%(name).5s'
会将长度截断为 5 个字符。
有点难找,但他们确实在文档中提到了它:
精度是一个十进制数,表示在使用“f”和“F”格式的浮点值的小数点后应显示多少位,或在使用“g”或格式的浮点值的小数点前后显示多少位'G'。对于非数字类型,该字段指示最大字段大小 - 换句话说,从字段内容中将使用多少个字符