extra logging.
This commit is contained in:
@@ -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)))))))))))
|
||||||
|
|||||||
Reference in New Issue
Block a user