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