Module: Simple::SQL::Logging
Instance Method Summary collapse
-
#logger ⇒ Object
The logger object.
-
#logger=(logger) ⇒ Object
The logger object.
- #slow_query_treshold ⇒ Object
- #slow_query_treshold=(slow_query_treshold) ⇒ Object
- #with_logged_query(sql, *args, &_block) ⇒ Object
Instance Method Details
#logger ⇒ Object
The logger object.
If no logger was set via Simple::SQL::Logging.logger = <foo>
this returns a default logger.
14 15 16 |
# File 'lib/simple/sql/logging.rb', line 14 def logger @logger ||= default_logger end |
#logger=(logger) ⇒ Object
The logger object.
19 20 21 |
# File 'lib/simple/sql/logging.rb', line 19 def logger=(logger) @logger = logger end |
#slow_query_treshold ⇒ Object
48 49 50 |
# File 'lib/simple/sql/logging.rb', line 48 def slow_query_treshold @slow_query_treshold end |
#slow_query_treshold=(slow_query_treshold) ⇒ Object
52 53 54 55 |
# File 'lib/simple/sql/logging.rb', line 52 def slow_query_treshold=(slow_query_treshold) expect! slow_query_treshold > 0 @slow_query_treshold = slow_query_treshold end |
#with_logged_query(sql, *args, &_block) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/simple/sql/logging.rb', line 57 def with_logged_query(sql, *args, &_block) r0 = Time.now rv = yield runtime = Time.now - r0 logger.debug do "[sql] %.3f secs: %s" % [runtime, Formatting.format(sql, *args)] end if slow_query_treshold && runtime > slow_query_treshold log_slow_query(sql, *args, runtime: runtime) end rv rescue StandardError => e runtime = Time.now - r0 logger.warn do "[sql] %.3f secs: %s:\n\tfailed with error %s" % [runtime, Formatting.format(sql, *args), e.] end raise end |