From 9334f935eb70d7a807e15d7d485156ed26f309ce Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 3 Aug 2023 16:10:41 +0200 Subject: [PATCH] :sparkles: Add better error reporting on response encoding middleware --- backend/resources/app/templates/error-report.v3.tmpl | 2 +- backend/src/app/http/middleware.clj | 9 ++++++--- backend/src/app/loggers/database.clj | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/backend/resources/app/templates/error-report.v3.tmpl b/backend/resources/app/templates/error-report.v3.tmpl index 216c4d3eb..b36a97e49 100644 --- a/backend/resources/app/templates/error-report.v3.tmpl +++ b/backend/resources/app/templates/error-report.v3.tmpl @@ -71,7 +71,7 @@ penpot - error report v2 {{id}} {% if value %}
-
VALIDATION VALUE:
+
VALUE:
{{value}}
diff --git a/backend/src/app/http/middleware.clj b/backend/src/app/http/middleware.clj index e11a60d04..2e6161bcd 100644 --- a/backend/src/app/http/middleware.clj +++ b/backend/src/app/http/middleware.clj @@ -118,7 +118,9 @@ (t/write! tw data))) (catch java.io.IOException _) (catch Throwable cause - (l/error :hint "unexpected error on encoding response" :cause cause)) + (binding [l/*context* {:value data}] + (l/error :hint "unexpected error on encoding response" + :cause cause))) (finally (.close ^OutputStream output-stream)))))) @@ -131,8 +133,9 @@ (catch java.io.IOException _) (catch Throwable cause - (l/error :hint "unexpected error on encoding response" - :cause cause)) + (binding [l/*context* {:value data}] + (l/error :hint "unexpected error on encoding response" + :cause cause))) (finally (.close ^OutputStream output-stream)))))) diff --git a/backend/src/app/loggers/database.clj b/backend/src/app/loggers/database.clj index a29578374..093175ada 100644 --- a/backend/src/app/loggers/database.clj +++ b/backend/src/app/loggers/database.clj @@ -58,6 +58,9 @@ (when-let [params (:request/params context)] {:params (pp/pprint-str params :width 200)}) + (when-let [value (:value context)] + {:value (pp/pprint-str value :width 200 :length 50 :level 10)}) + (when-let [data (some-> data (dissoc ::s/problems ::s/value ::s/spec ::sm/explain :hint))] {:data (pp/pprint-str data :width 200)})