Eri*_*man 5 python logging flask python-logging
我是 Flask 新手,在过滤某些日志时遇到问题。我的用例很简单:我不想记录运行状况检查查询,该查询命中了路线/health。
这是我所拥有的:
from flask import Flask
from flask.logging import logging
class NoHealth(logging.Filter):
def filter(self, record):
return 'GET /health' not in record.getMessage()
no_health = NoHealth()
app = Flask(__name__)
app.logger.addFilter(no_health)
app.logger.setLevel('INFO')
@app.route('/health')
def health_check():
return "OK"
Run Code Online (Sandbox Code Playgroud)
我想要删除的日志如下所示:
127.0.0.1 - - [31/Mar/2020 17:51:03] "GET /health HTTP/1.1" 200 -
然而,他们仍然在渡过难关。我缺少什么?
小智 5
访问日志由(在本例中运行 Flask 应用程序的 Web 服务器)写入werzeug。因此,更好的选择是将日志记录级别提高到warning:
logging.getLogger("werkzeug").setLevel('WARNING')
Run Code Online (Sandbox Code Playgroud)
如果您确实想使用自定义过滤器NoHealth,您可以使用以下解决方案:
logging.getLogger("werkzeug").addFilter(NoHealth())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2146 次 |
| 最近记录: |