Python logging tutorial表示永远不会格式化的方法超出了本教程的范围,没有提到在哪里学习它。
我很感激任何允许我在.format()
,debug()
等日志记录中使用info()
样式邮件格式的示例/文档。
答案 0 :(得分:4)
最近,我也在寻找。我想我已经在SO上找到了解决方案,但我手边还有最后的网址。这就是我的工作:
# http://plumberjack.blogspot.de/2010/10/supporting-alternative-formatting.html
class BraceMessage(object):
def __init__(self, fmt, *args, **kwargs):
self.fmt = fmt
self.args = args
self.kwargs = kwargs
def __str__(self):
return self.fmt.format(*self.args, **self.kwargs)
_F = BraceMessage
可以像这样使用:
logger.debug(_F("foo {0} {quux}", bar, quux=baz))
格式化只会在评估消息的那一刻发生,因此如果禁用日志级别,则不会丢失大量性能。上述代码段的作者将此(以及其他一些实用程序)作为包提供:logutils
。