class InfinumGraylog::SqlActiveRecord
Constants
- SKIPPABLE_ACTIONS
- TYPE
Attributes
event[R]
trace[R]
Public Class Methods
new(event, trace)
click to toggle source
# File lib/infinum_graylog/sql_active_record.rb, line 8 def initialize(event, trace) @event = event @trace = trace end
Public Instance Methods
format()
click to toggle source
# File lib/infinum_graylog/sql_active_record.rb, line 13 def format return unless configuration.types.include?(TYPE) return if event.payload[:statement_name].nil? && event.payload[:name].nil? return if skippable_actions.include?(event_name) { short_message: event_name, sql: sql, type: TYPE, duration: event.duration, application: configuration.application, trace: Rails.backtrace_cleaner.clean(trace) } end
Private Instance Methods
configuration()
click to toggle source
# File lib/infinum_graylog/sql_active_record.rb, line 50 def configuration InfinumGraylog.configuration end
event_name()
click to toggle source
# File lib/infinum_graylog/sql_active_record.rb, line 30 def event_name event.payload[:name] || 'SQL' end
skippable_actions()
click to toggle source
# File lib/infinum_graylog/sql_active_record.rb, line 46 def skippable_actions SKIPPABLE_ACTIONS + configuration.skippable_sql_actions end
sql()
click to toggle source
# File lib/infinum_graylog/sql_active_record.rb, line 34 def sql sql = event.payload[:sql].dup binds = event.payload[:binds] if binds.present? binds = binds.map { |_col, val| val.inspect } binds.each { |b| sql.sub!(/\$./, b) } end sql end