Sha256: a45062a298c21f96011d1e4c1dbae6f7ae4a324455473fe00ab642cb4814d6e0

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module RailsSpotlight
  module LogInterceptor
    def debug(message = nil, *args)
      push_event(:debug, message)
      super
    end

    def info(message = nil, *args)
      push_event(:info, message)
      super
    end

    def warn(message = nil, *args)
      push_event(:warn, message)
      super
    end

    def error(message = nil, *args)
      push_event(:error, message)
      super
    end

    def fatal(message = nil, *args)
      push_event(:fatal, message)
      super
    end

    def unknown(message = nil, *args)
      push_event(:unknown, message)
      super
    end

    private

    def push_event(level, message)
      callsite = AppRequest.current && Utils.dev_callsite(caller.drop(1))
      if callsite
        payload = callsite.merge(message: message, level: level)
        AppRequest.current.events << Event.new('rsl.notification.log', 0, 0, 0, payload)
      end
    rescue StandardError => e
      RailsSpotlight.config.logger.fatal("#{e.message}\n #{e.backtrace.join("\n ")}")
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rails_spotlight-0.2.5 lib/rails_spotlight/log_interceptor.rb
rails_spotlight-0.2.4 lib/rails_spotlight/log_interceptor.rb
rails_spotlight-0.2.3 lib/rails_spotlight/log_interceptor.rb
rails_spotlight-0.2.2 lib/rails_spotlight/log_interceptor.rb
rails_spotlight-0.2.1 lib/rails_spotlight/log_interceptor.rb
rails_spotlight-0.2.0 lib/rails_spotlight/log_interceptor.rb