在python日志中是否有一个格式化程序来截断字符串?

hob*_*obs 8 python formatting logging string-formatting formatter

Python日志记录使用我在python中没有看到的语法格式化字符串,比如

 'format': '%(name)s'
Run Code Online (Sandbox Code Playgroud)

有没有办法使用格式化程序截断错误消息,或者我是否需要覆盖LogRecord类?

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

 'format': '%(name).40s %(message).40s'
Run Code Online (Sandbox Code Playgroud)

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

Ger*_*rat 17

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

'format': '%(name).5s'  
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • 有没有办法从左边截断虽然有吗? (3认同)