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