Sha256: e740ad83dad0ce8aa0aba7bc5751c94f8c59a1909a8c0f37336d74eb5186fba8
Contents?: true
Size: 1.64 KB
Versions: 2
Compression:
Stored size: 1.64 KB
Contents
require 'hickory/logger' require 'hickory/version' module Hickory module_function def initialize_canonical_logs(app) require 'hickory/ext/rails/rack/logger' self.application = app Hickory.ignore_if = config.ignore_if Hickory.remove_existing_log_subscriptions Hickory::LogSubscribers::ActionController.attach_to :action_controller Hickory::LogSubscribers::ActionMailer.attach_to :action_mailer Hickory::LogSubscribers::ActiveJob.attach_to :active_job end def application @@application end def application=(app) @@application = app end def ignore_if @@ignore_if end def ignore_if=(check) @@ignore_if = check end def config application.config.hickory end def 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) when ActionMailer::LogSubscriber unsubscribe(:action_mailer, subscriber) when ActiveJob::Logging::LogSubscriber unsubscribe(:active_job, subscriber) end end end def 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 end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hickory-0.1.1 | lib/hickory.rb |
hickory-0.1.0 | lib/hickory.rb |