From 1f71964550916e1a6704e0c1ca93bd6ad104bd8d Mon Sep 17 00:00:00 2001 From: Julien Vehent Date: Mon, 20 Apr 2020 13:43:11 -0400 Subject: [PATCH 1/2] log query string in api --- depobs/website/do.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/depobs/website/do.py b/depobs/website/do.py index 9cf0150d..44ed429b 100644 --- a/depobs/website/do.py +++ b/depobs/website/do.py @@ -3,7 +3,7 @@ import logging.config import celery -from flask import Flask +from flask import Flask, request from dockerflow.flask import Dockerflow from dockerflow.logging import JsonLogFormatter @@ -18,6 +18,16 @@ flasklog.setLevel(logging.ERROR) +# override the summary logger from the Dockerflow class to add +# logging of query string +# https://github.com/mozilla-services/python-dockerflow/issues/44 +class Customflow(Dockerflow): + def summary_extra(self): + out = Dockerflow.summary_extra(self) + out["query_string"] = request.query_string.decode("utf-8") + return out + + def create_app(test_config=None): # reimport to pick up changes for testing and autoreload import depobs.website.models as models @@ -38,7 +48,7 @@ def create_app(test_config=None): if app.config["INIT_DB"]: models.create_tables_and_views(app) - dockerflow = Dockerflow(app, db=models.db) + dockerflow = Customflow(app, db=models.db) dockerflow.init_app(app) app.register_blueprint(scans_blueprint) app.register_blueprint(views_blueprint) From 20603818bf7c950f1bf52505a0149d5265dba252 Mon Sep 17 00:00:00 2001 From: Julien Vehent Date: Mon, 20 Apr 2020 14:18:01 -0400 Subject: [PATCH 2/2] use super() to call parent class Dockerflow --- depobs/website/do.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depobs/website/do.py b/depobs/website/do.py index 44ed429b..37031f16 100644 --- a/depobs/website/do.py +++ b/depobs/website/do.py @@ -23,7 +23,7 @@ # https://github.com/mozilla-services/python-dockerflow/issues/44 class Customflow(Dockerflow): def summary_extra(self): - out = Dockerflow.summary_extra(self) + out = super().summary_extra() out["query_string"] = request.query_string.decode("utf-8") return out