lib/timber/events/sql_query.rb in timber-2.6.2 vs lib/timber/events/sql_query.rb in timber-3.0.0

- old
+ new

@@ -1,36 +1,26 @@ -require "timber/event" +require 'timber/util' +require 'timber/event' module Timber module Events - # The SQL query event tracks sql queries to your database. - # - # @note This event should be installed automatically through integrations, - # such as the {Integrations::ActiveRecord::LogSubscriber} integration. + # @private class SQLQuery < Timber::Event - MESSAGE_MAX_BYTES = 8192.freeze - SQL_MAX_BYTES = 4096.freeze + attr_reader :sql, :duration_ms, :message - attr_reader :sql, :time_ms, :message - def initialize(attributes) - normalizer = Util::AttributeNormalizer.new(attributes) - @message = normalizer.fetch!(:message, :string, :limit => MESSAGE_MAX_BYTES) - @sql = normalizer.fetch!(:sql, :string, :limit => SQL_MAX_BYTES) - @time_ms = normalizer.fetch!(:time_ms, :float, :precision => 6) + @sql = attributes[:sql] + @duration_ms = attributes[:duration_ms] + @message = attributes[:message] end def to_hash - @to_hash ||= Util::NonNilHashBuilder.build do |h| - h.add(:sql, sql) - h.add(:time_ms, time_ms) - end + { + sql_query_executed: Util::NonNilHashBuilder.build do |h| + h.add(:sql, sql) + h.add(:duration_ms, duration_ms) + end + } end - alias to_h to_hash - - # Builds a hash representation containing simple objects, suitable for serialization (JSON). - def as_json(_options = {}) - {:sql_query => to_hash} - end end end -end \ No newline at end of file +end