Module: Simple::SQL::Logging

Extended by:
Forwardable, Logging
Included in:
Logging
Defined in:
lib/simple/sql/logging.rb

Instance Method Summary collapse

Instance Method Details

#loggerObject

The logger object.

If no logger was set via Simple::SQL::Logging.logger = <foo> this returns a default logger.



10
11
12
# File 'lib/simple/sql/logging.rb', line 10

def logger
  @logger ||= default_logger
end

#logger=(logger) ⇒ Object

The logger object.



15
16
17
# File 'lib/simple/sql/logging.rb', line 15

def logger=(logger)
  @logger = logger
end

#yield_logged(sql, *args, &_block) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/simple/sql/logging.rb', line 41

def yield_logged(sql, *args, &_block)
  r0 = Time.now
  rv = yield
  realtime = Time.now - r0
  debug "[sql] %.3f secs: %s" % [realtime, format_query(sql, *args)]
  rv
rescue StandardError => e
  realtime = Time.now - r0
  warn "[sql] %.3f secs: %s:\n\tfailed with error %s" % [realtime, format_query(sql, *args), e.message]
  raise
end