Skip to content

Instantly share code, notes, and snippets.

@dogenpunk
Created March 11, 2020 19:47
Show Gist options
  • Save dogenpunk/74aa3afadef4d99c70db420ec04deb75 to your computer and use it in GitHub Desktop.
Save dogenpunk/74aa3afadef4d99c70db420ec04deb75 to your computer and use it in GitHub Desktop.
Debug logging sql commands in HugSQL
;; Cribbed from https://stackoverflow.com/questions/47035273/log-sql-statments-queries-executed-by-hugsql
(defn log-sqlvec [sqlvec]
(log/info (->> sqlvec
(map #(clojure.string/replace (or % "") #"\n" ""))
(clojure.string/join " ; "))))
(defn log-command-fn [this db sqlvec options]
(log-sqlvec sqlvec)
(condp contains? (:command options)
#{:!} (hugsql.adapter/execute this db sqlvec options)
#{:? :<!} (hugsql.adapter/query this db sqlvec options)))
(defmethod hugsql.core/hugsql-command-fn :! [sym] `log-command-fn)
(defmethod hugsql.core/hugsql-command-fn :<! [sym] `log-command-fn)
(defmethod hugsql.core/hugsql-command-fn :? [sym] `log-command-fn)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment