Skip to main content
 首页 » 编程设计

python之为什么 python 日志记录模块使用旧的字符串格式

2025年05月04日21over140

Python 有两个主要的字符串格式化选项 % 和 str.format。 logging 模块有一个懒惰的特性。

logging.debug('The value is %s', huge_arg) 

如果不打印日志行,则不会构造字符串。但是,此功能仅在 sting 使用旧式 % 格式时才有效。有没有办法将 str.format 与此惰性功能一起使用?可能有一个命名的 arg,例如:

logging.debug('The value is {}', fmt_arg=(huge_arg)) 

请您参考如下方法:

您的问题的唯一答案是 - 到目前为止 - 没有人自愿更改 logging 代码以支持更新的格式功能。如果您是志愿者,为什么不在 the Python-Dev mailing list 上询问呢? ?我希望它比您意识到的更棘手(例如,可能调用 logging 函数已经恰好传递了 fmt_arg 关键字参数)。祝你好运;-)