相关疑难解决方法(0)

PyLint消息:logging-format-interpolation

对于以下代码:

logger.debug('message: {}'.format('test'))
Run Code Online (Sandbox Code Playgroud)

pylint 产生以下警告:

记录格式插值(W1202):

在日志记录函数中使用%格式并将%参数作为参数传递当日志语句的调用形式为"logging.(format_string.format(format_args ...))"时使用.此类调用应使用%格式,但通过将参数作为参数传递,将插值留给日志记录功能.

我知道我可以关掉这个警告,但我喜欢理解它.我假设使用format()是打印输出语句的首选方法pylint.为什么记录器语句不适用?

python pylint python-3.x

128
推荐指数
4
解决办法
3万
查看次数

使用新格式字符串记录变量数据

我使用python 2.7.3的日志工具.这个Python版本的文档说:

日志包提前更新格式化选项,如str.format()和string.Template.支持这些较新的格式化选项...

我喜欢花括号的"新"格式.所以我想尝试做类似的事情:

 log = logging.getLogger("some.logger")
 log.debug("format this message {0}", 1)
Run Code Online (Sandbox Code Playgroud)

并得到错误:

TypeError:并非在字符串格式化期间转换所有参数

我想念的是什么?

PS我不想用

log.debug("format this message {0}".format(1))
Run Code Online (Sandbox Code Playgroud)

因为在这种情况下,无论记录器级别如何,都始终格式化消息.

python string-formatting python-2.7

76
推荐指数
5
解决办法
4万
查看次数

如何在Python的日志记录模块中使用现代字符串格式设置选项?

Python记录教程说,格式化的方式从未超出了本文的范围,就不能不提这里学习一下吧。

我将不胜感激任何例子/文档,让我用.format()风格的消息在日志调用,如格式化debug()info()等等。

python logging

4
推荐指数
1
解决办法
872
查看次数