【发布时间】:2013-01-03 23:33:20
【问题描述】:
我正在使用 python 日志记录,并且我有一个如下所示的格式化程序:
formatter = logging.Formatter(
'%(asctime)s - %(pathname)86s - %(lineno)4s - %(message)s', '%d %H:%M'
)
如您所见,我喜欢日志文件中的信息在列中整齐排列。我为路径名保留 86 个空格的原因是因为我的程序中使用的某些文件的完整路径太长了。但是,我真正需要的是实际文件名,而不是完整路径。如何让日志记录模块只给我文件名?更好的是,因为我有一些长文件名,我想要文件名的前 3 个字符,然后是“~”,然后是最后 16 个字符。所以
/Users/Jon/important_dir/dev/my_project/latest/testing-tools/test_read_only_scenarios_happily.py
应该变成
tes~arios_happily.py
【问题讨论】:
-
我看到了你的编辑建议;很高兴你解决了。
record.args是字典或元组,但您的格式化程序建议您专门使用字典,这就是我基于此创建解决方案的原因。正如您所发现的,适应元组也很容易。 :-)