最近,有一个问题是如何在 Python Flask 中为特定端点 ( Skip Flask logging for one endpoint? ) 禁用日志记录。
例如,这对于 /healthcheck
是有意义的。您不想弄乱您的日志。
我为 Flask 解决了这个问题,但是当使用 Gunicorn 运行 Flask 时,我的解决方案不再起作用。
如何使用 Gunicorn 实现这一目标?我想要常规的日志记录行为,但没有 /healthcheck
的任何日志端点。
最佳答案
pre_request
钩子(Hook)对我不起作用。我使用了 https://stackoverflow.com/a/52455408/2339067 的答案创建以下 gunicorn.conf.py
文件:
import logging
from gunicorn import glogging
class CustomGunicornLogger(glogging.Logger):
def setup(self, cfg):
super().setup(cfg)
# Add filters to Gunicorn logger
logger = logging.getLogger("gunicorn.access")
logger.addFilter(HealthCheckFilter())
class HealthCheckFilter(logging.Filter):
def filter(self, record):
return 'GET /healthcheck' not in record.getMessage()
accesslog = '-'
logger_class = CustomGunicornLogger
关于python - 为特定请求/URL/端点禁用登录 gunicorn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57416645/