From 381ba18b5074dc8af8ced26b6ec6d0afd553bc63 Mon Sep 17 00:00:00 2001 From: Dimitri Fontaine Date: Tue, 3 Jan 2017 22:27:17 +0100 Subject: [PATCH] Add a new log level: SQL. This sits between NOTICE and INFO, allowing to have a complete log of the SQL queries sent to the server while avoiding the very verbose trafic of the DEBUG log level. See #498. --- src/pgsql/connection.lisp | 4 ++-- src/sources/mssql/mssql-schema.lisp | 3 ++- src/sources/mysql/mysql-schema.lisp | 2 +- src/sources/sqlite/sqlite-schema.lisp | 1 + src/utils/logs.lisp | 5 +++-- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/pgsql/connection.lisp b/src/pgsql/connection.lisp index 92ee311..cccf296 100644 --- a/src/pgsql/connection.lisp +++ b/src/pgsql/connection.lisp @@ -126,7 +126,7 @@ (defmethod query ((pgconn pgsql-connection) sql &key) (let ((pomo:*database* (conn-handle pgconn))) - (log-message :debug "~a" sql) + (log-message :sql "~a" sql) (pomo:query sql))) (defmacro handling-pgsql-notices (&body forms) @@ -254,7 +254,7 @@ (loop :for sql :in (alexandria::ensure-list sql) :do (progn - (log-message :notice "~a" sql) + (log-message :sql "~a" sql) (pomo:execute sql))) (when client-min-messages diff --git a/src/sources/mssql/mssql-schema.lisp b/src/sources/mssql/mssql-schema.lisp index 7490938..580690c 100644 --- a/src/sources/mssql/mssql-schema.lisp +++ b/src/sources/mssql/mssql-schema.lisp @@ -34,12 +34,13 @@ (defmethod query ((msconn mssql-connection) sql &key) "Send SQL query to MSCONN connection." + (log-message :sql "MSSQL: sending query: ~a" query) (mssql:query sql :connection (conn-handle msconn))) (defun mssql-query (query) "Execute given QUERY within the current *connection*, and set proper defaults for pgloader." - (log-message :debug "MSSQL: sending query: ~a" query) + (log-message :sql "MSSQL: sending query: ~a" query) (mssql:query query :connection (conn-handle *mssql-db*))) diff --git a/src/sources/mysql/mysql-schema.lisp b/src/sources/mysql/mysql-schema.lisp index 2637a14..223cc40 100644 --- a/src/sources/mysql/mysql-schema.lisp +++ b/src/sources/mysql/mysql-schema.lisp @@ -60,7 +60,7 @@ (defun mysql-query (query &key row-fn (as-text t) (result-type 'list)) "Execute given QUERY within the current *connection*, and set proper defaults for pgloader." - (log-message :debug "MySQL: sending query: ~a" query) + (log-message :sql "MySQL: sending query: ~a" query) (qmynd:mysql-query (conn-handle *connection*) query :row-fn row-fn :as-text as-text diff --git a/src/sources/sqlite/sqlite-schema.lisp b/src/sources/sqlite/sqlite-schema.lisp index 5047290..c9626bc 100644 --- a/src/sources/sqlite/sqlite-schema.lisp +++ b/src/sources/sqlite/sqlite-schema.lisp @@ -30,6 +30,7 @@ (change-class (call-next-method slconn) 'sqlite-connection)) (defmethod query ((slconn sqlite-connection) sql &key) + (log-message :sql "SQLite: sending query: ~a" sql) (sqlite:execute-to-list (conn-handle slconn) sql)) diff --git a/src/utils/logs.lisp b/src/utils/logs.lisp index ce0e8b1..83fda9b 100644 --- a/src/utils/logs.lisp +++ b/src/utils/logs.lisp @@ -9,8 +9,9 @@ (defcategory :error (or :error :log)) (defcategory :warning (or :warning :error)) (defcategory :notice (or :notice :warning)) -(defcategory :info (or :info :notice)) -(defcategory :debug (or :debug :info)) +(defcategory :sql (or :sql :notice)) +(defcategory :info (or :info :sql)) +(defcategory :debug (or :debug :sql)) (defcategory :data (or :data :debug)) (defvar *log-messengers* nil