我在python Flask应用程序中有一个自定义格式化程序,我已将其添加到根记录器中:
logger = logging.getLogger()
logger.setLevel(logging.INFO)
handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
formatter = CustomLoggingFormatter()
handler.setFormatter(formatter)
logger.addHandler(handler)
当我想记录一些东西的时候,这个功能非常好(记录器信息()…),但我对库中的日志有问题,例如uwsgi。在
以下是日志消息的示例:
{"@timestamp": "2017-09-25T06:57:45.373Z", "level": "INFO", "message": " * Running on %s://%s:%d/ %s"}
我认为我的格式化程序可能有问题,但是当我记录我的CustomLoggingFormatter接收到的LogRecord时,上面的行如下所示:
LogRecord: werkzeug, 20, <...>/lib/python3.5/site-packages/werkzeug/_internal.py, 87, " * Running on %s://%s:%d/ %s"
这是我的CustomLoggingFormatter:
^{pr2}$要使我的格式化程序正常工作,似乎必须首先解析字符串格式,但对于几个库来说,这并没有发生。有谁知道如何解决这个问题?在
您需要始终调用} 将结果分配给
record.getMessage()
;它接受record.msg
的值并对其应用格式。default implementation of ^{record.message
,以便插入到最后的字符串中。你的代码中也有:相关问题 更多 >
编程相关推荐