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