extra logging.

This commit is contained in:
Bryce Covert
2023-01-06 18:06:47 -08:00
parent 0c08e6a929
commit 87fedc7dfb

View File

@@ -22,7 +22,7 @@
[auto-ap.graphql.vendors :as gq-vendors] [auto-ap.graphql.vendors :as gq-vendors]
[auto-ap.graphql.yodlee-merchants :as ym] [auto-ap.graphql.yodlee-merchants :as ym]
[auto-ap.graphql.yodlee2 :as gq-yodlee2] [auto-ap.graphql.yodlee2 :as gq-yodlee2]
[auto-ap.logging :refer [error-event info-event warn-event]] [auto-ap.logging :refer [error-event info-event warn-event] :as alog]
[auto-ap.time :as time] [auto-ap.time :as time]
[clj-time.coerce :as coerce] [clj-time.coerce :as coerce]
[clj-time.core :as t] [clj-time.core :as t]
@@ -36,7 +36,8 @@
[com.walmartlabs.lacinia.util :refer [attach-resolvers]] [com.walmartlabs.lacinia.util :refer [attach-resolvers]]
[datomic.api :as d] [datomic.api :as d]
[unilog.context :as lc] [unilog.context :as lc]
[yang.time :refer [time-it]]) [yang.time :refer [time-it]]
[com.brunobonacci.mulog :as mu])
(:import (:import
(clojure.lang IPersistentMap))) (clojure.lang IPersistentMap)))
@@ -834,27 +835,34 @@
([id q v] ([id q v]
(statsd/increment "query.graphql.count" {:tags #{(str "query:" (query-name q))}}) (statsd/increment "query.graphql.count" {:tags #{(str "query:" (query-name q))}})
(statsd/time! [(str "query.graphql.time" ) {:tags #{(str "query:" (query-name q))}}] (statsd/time! [(str "query.graphql.time" ) {:tags #{(str "query:" (query-name q))}}]
(lc/with-context {:query q} (mu/with-context {:query q
(log/info "executing query name" (query-name q)) :user id}
(try (mu/trace ::graphql-query
(let [[result time] (time-it (simplify (execute schema q v {:id id})))] (lc/with-context {:query q}
(info-event "Query completed" (log/info "executing query name" (query-name q))
{:time (:time time) (try
:errors (seq (:errors result))}) (let [[result time] (time-it (simplify (execute schema q v {:id id})))]
(when (seq (:errors result)) (info-event "Query completed"
(throw (ex-info "GraphQL error" {:result result}))) {:time (:time time)
result) :errors (seq (:errors result))})
(when (seq (:errors result))
(throw (ex-info "GraphQL error" {:result result})))
result)
(catch Exception e (catch Exception e
(if-let [v (or (:validation-error (ex-data e)) (if-let [v (or (:validation-error (ex-data e))
(:validation-error (ex-data (.getCause e))))] (:validation-error (ex-data (.getCause e))))]
(do (do
(warn-event "validation error" {:validation-error v (alog/warn ::query-validation
:data (ex-data e)}) :exception e)
(throw e) (warn-event "validation error" {:validation-error v
#_{:errors [{:message v}]}) :data (ex-data e)})
(do (throw e)
(error-event "query error" {:error e}) #_{:errors [{:message v}]})
(do
(error-event "query error" {:error e})
(alog/error ::query-error
:exception e)
(throw e))))))))) (throw e)))))))))))