class Timber::Integrations::ActiveRecord::LogSubscriber::TimberLogSubscriber

The log subscriber that replaces the default `ActiveRecord::LogSubscriber`. The intent of this subscriber is to, as transparently as possible, properly track events that are being logged here. This LogSubscriber will never change default behavior / log messages.

@private

Public Instance Methods

sql(event) click to toggle source
Calls superclass method
# File lib/timber-rails/active_record/log_subscriber/timber_log_subscriber.rb, line 18
def sql(event)
  return true if silence?

  r = super(event)

  if @message
    payload = event.payload

    sql_event = Events::SQLQuery.new(
      sql: payload[:sql],
      duration_ms: event.duration,
      message: @message,
    )

    logger.debug sql_event

    @message = nil
  end

  r
end

Private Instance Methods

debug(message) click to toggle source
# File lib/timber-rails/active_record/log_subscriber/timber_log_subscriber.rb, line 41
def debug(message)
  @message = message
end
silence?() click to toggle source
# File lib/timber-rails/active_record/log_subscriber/timber_log_subscriber.rb, line 45
def silence?
  ActiveRecord.silence?
end