finally, sane query logging

Josha von Gizycki 5 years ago
parent 667d8002bc
commit 8de7b1505b

@ -15,23 +15,28 @@
#"[0-9a-f]+-[0-9a-f]+-[0-9a-f]+-[0-9a-f]+-[0-9a-f]+" %)) #"[0-9a-f]+-[0-9a-f]+-[0-9a-f]+-[0-9a-f]+-[0-9a-f]+" %))
(def conn (def conn
(delay
(let [env #(or (System/getenv %1) %2) (let [env #(or (System/getenv %1) %2)
port (env "NEO4J_PORT" "7687") port (env "NEO4J_PORT" "7687")
host (env "NEO4J_HOST" "localhost") host (env "NEO4J_HOST" "localhost")
user (env "NEO4J_USER" "neo4j") user (env "NEO4J_USER" "neo4j")
pass (env "NEO4J_PASS" "b")] pass (env "NEO4J_PASS" "b")]
(delay (db/connect (db/connect
(str "bolt://" host ":" port) (str "bolt://" host ":" port)
user user
pass)))) pass))))
(defmacro defquery [& args] `(db/defquery ~@args)) (defonce query-strings (atom {}))
(defmacro defquery [name query]
`(do (def ~name (db/create-query ~query))
(swap! wanijo.infrastructure.neo4j/query-strings
assoc (hash ~name) ~query)))
(defn uuid [] (defn uuid []
(str (UUID/randomUUID))) (str (UUID/randomUUID)))
(defn butiful-query [qry] (defn butiful-query [qry]
(->> qry (->> (get @query-strings (hash qry))
str str
cljs/trim-newline cljs/trim-newline
cljs/split-lines cljs/split-lines
@ -41,12 +46,17 @@
(defn exec-query! [qry params] (defn exec-query! [qry params]
(with-open [session (db/get-session @conn)] (with-open [session (db/get-session @conn)]
(println "executing query" qry "with params" params) (let [query-string (get @query-strings (hash qry))
query-string (-> query-string
(cljs/replace #"\n" "")
(cljs/replace #"\s+" " "))
query-string (str \" query-string \")]
(println "query" query-string "with params" params)
(devmode/send-to-bar (devmode/send-to-bar
(str (butiful-query qry) (str (butiful-query qry)
"<br>---Params---<br>" "<br>---Params---<br>"
params)) params))
(qry session params))) (qry session params))))
(spec/def ::tuple-query-list (spec/def ::tuple-query-list
(spec/coll-of (spec/coll-of

@ -97,4 +97,5 @@
(defn dev-server! [] (defn dev-server! []
(main/stop-server!) (main/stop-server!)
(main/start-server-dev!)) (main/start-server-dev!)
(println "Startet server at http://localhost:8080"))

Loading…
Cancel
Save