Sha256: 0e8f292201bb74f0ad81f5944dbf8cce1d3fac89656ec226b63f3bbeafdcaf09
Contents?: true
Size: 1.76 KB
Versions: 2
Compression:
Stored size: 1.76 KB
Contents
require 'lograge/version' require 'lograge/log_subscriber' require 'active_support/core_ext/module/attribute_accessors' require 'active_support/core_ext/string/inflections' require 'active_support/ordered_options' module Lograge mattr_accessor :logger # Custom options that will be appended to log line # # Currently supported formats are: # - Hash # - Any object that responds to call and returns a hash # mattr_writer :custom_options self.custom_options = nil def self.custom_options(event) if @@custom_options.respond_to?(:call) @@custom_options.call(event) else @@custom_options end end def self.remove_existing_log_subscriptions ActiveSupport::LogSubscriber.log_subscribers.each do |subscriber| case subscriber when ActionView::LogSubscriber unsubscribe(:action_view, subscriber) when ActionController::LogSubscriber unsubscribe(:action_controller, subscriber) end end end def self.unsubscribe(component, subscriber) events = subscriber.public_methods(false).reject{ |method| method.to_s == 'call' } events.each do |event| ActiveSupport::Notifications.notifier.listeners_for("#{event}.#{component}").each do |listener| if listener.instance_variable_get('@delegate') == subscriber ActiveSupport::Notifications.unsubscribe listener end end end end def self.setup(app) app.config.action_dispatch.rack_cache[:verbose] = false if app.config.action_dispatch.rack_cache require 'lograge/rails_ext/rack/logger' Lograge.remove_existing_log_subscriptions Lograge::RequestLogSubscriber.attach_to :action_controller Lograge.custom_options = app.config.lograge.custom_options end end require 'lograge/railtie' if defined?(Rails)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lograge-0.0.6 | lib/lograge.rb |
lograge-0.0.5 | lib/lograge.rb |