module Sequel::CallerLogging
Constants
- RUBY_STDLIB
- SEQUEL_LIB_PATH
Attributes
caller_logging_formatter[RW]
A callable to format the external caller
caller_logging_ignore[RW]
A regexp of caller lines to ignore, in addition to internal Sequel
and Ruby code.
Public Instance Methods
log_connection_yield(sql, conn, args=nil)
click to toggle source
Include caller information when logging query.
Calls superclass method
# File lib/sequel/extensions/caller_logging.rb 48 def log_connection_yield(sql, conn, args=nil) 49 if !@loggers.empty? && (external_caller = external_caller_for_log) 50 sql = "#{external_caller} #{sql}" 51 end 52 super 53 end
Private Instance Methods
external_caller_for_log()
click to toggle source
The caller to log, ignoring internal Sequel
and Ruby code, and user specified lines to ignore.
# File lib/sequel/extensions/caller_logging.rb 59 def external_caller_for_log 60 ignore = caller_logging_ignore 61 c = caller.find do |line| 62 !(line.start_with?(SEQUEL_LIB_PATH) || 63 line.start_with?(RUBY_STDLIB) || 64 (ignore && line =~ ignore)) 65 end 66 67 if c 68 c = if formatter = caller_logging_formatter 69 formatter.call(c) 70 else 71 "(source: #{c})" 72 end 73 end 74 75 c 76 end