Sha256: da2c5ffb7b8fd0cd6b01acdbee5da338afbed81db872359755f209a6b73967f5

Contents?: true

Size: 706 Bytes

Versions: 8

Compression:

Stored size: 706 Bytes

Contents

require 'securerandom'
require 'active_support/notifications'
require 'active_support/log_subscriber'

module Cassanity
  module Instrumentation
    class LogSubscriber < ::ActiveSupport::LogSubscriber
      def cql(event)
        return unless logger.debug?

        name = '%s (%.1fms)' % ["CQL Query", event.duration]

        cql = event.payload[:cql]
        vars = event.payload[:cql_variables] || []
        variables = vars.map { |var| var.inspect }.join(', ')

        query = "#{cql}"
        query += " (#{variables})" unless variables.empty?

        debug "  #{color(name, CYAN, true)}  [ #{query} ]"
      end
    end
  end
end

Cassanity::Instrumentation::LogSubscriber.attach_to :cassanity

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cassanity-0.6.0 lib/cassanity/instrumentation/log_subscriber.rb
cassanity-0.6.0.beta5 lib/cassanity/instrumentation/log_subscriber.rb
cassanity-0.6.0.beta4 lib/cassanity/instrumentation/log_subscriber.rb
cassanity-0.6.0.beta3 lib/cassanity/instrumentation/log_subscriber.rb
cassanity-0.6.0.beta2 lib/cassanity/instrumentation/log_subscriber.rb
cassanity-0.6.0.beta1 lib/cassanity/instrumentation/log_subscriber.rb
cassanity-0.5.1 lib/cassanity/instrumentation/log_subscriber.rb
cassanity-0.5.0 lib/cassanity/instrumentation/log_subscriber.rb