为什么使用多个参数来记录而不是插值?

koj*_*iro 9 python logging interpolation

Python的日志记录功能允许您传递多个可以为您插入的参数.所以你有一个选择:

logger.info("Something %s this way comes!" % "wicked")
Run Code Online (Sandbox Code Playgroud)

要么

logger.info("Something %s this way comes!", "wicked")
Run Code Online (Sandbox Code Playgroud)

但为什么选择一个而不是另一个呢?这只是在记录器中发生错误而不是在正在记录的程序中发生错误,还是还有其他问题?

Céd*_*ien 11

这是性能问题:

  • 在代码中进行插值时,每次调用记录器时都会执行此代码(如果未激活记录器或日志级别,则会执行此事件)
  • 当您让记录器进行插值时,只有在激活记录器和日志级别时才会进行插值.