Module: ClickhouseNative::Logging
- Included in:
- Client
- Defined in:
- lib/clickhouse_native/logging.rb
Overview
Sequel-style logging wrapper. Prepended onto Client so it fires for the raw C-level execute/query/query_value/query_each/insert_block calls.
client = Client.new(..., logger: Rails.logger)
client.query("SELECT 1")
# => DEBUG -- : (0.421ms) SELECT 1
Errors are logged at ERROR with the elapsed time and exception class.
Constant Summary collapse
- LEVEL =
:debug
Instance Method Summary collapse
- #execute(sql) ⇒ Object
- #insert_block(table, columns, rows) ⇒ Object
- #query(sql) ⇒ Object
- #query_each(sql) ⇒ Object
- #query_value(sql) ⇒ Object
Instance Method Details
#execute(sql) ⇒ Object
15 16 17 |
# File 'lib/clickhouse_native/logging.rb', line 15 def execute(sql) log_sql(sql) { super } end |
#insert_block(table, columns, rows) ⇒ Object
31 32 33 34 |
# File 'lib/clickhouse_native/logging.rb', line 31 def insert_block(table, columns, rows) col_list = columns.map(&:first).join(", ") log_sql("INSERT INTO #{table} (#{col_list}) VALUES (#{rows.size} rows)") { super } end |
#query(sql) ⇒ Object
19 20 21 |
# File 'lib/clickhouse_native/logging.rb', line 19 def query(sql) log_sql(sql) { super } end |
#query_each(sql) ⇒ Object
27 28 29 |
# File 'lib/clickhouse_native/logging.rb', line 27 def query_each(sql, &) log_sql(sql) { super } end |
#query_value(sql) ⇒ Object
23 24 25 |
# File 'lib/clickhouse_native/logging.rb', line 23 def query_value(sql) log_sql(sql) { super } end |