Module: ThreeScale::Backend::Logging::External::Impl

Defined in:
lib/3scale/backend/logging/external/impl.rb,
lib/3scale/backend/logging/external/impl/bugsnag.rb,
lib/3scale/backend/logging/external/impl/default.rb,
lib/3scale/backend/logging/external/impl/airbrake.rb

Overview

This is the module that each implementation has to populate with its own class. The implementation file must be named after the class and live in a specific subdirectory relative to this file matching this file’s name.

To load the class one must specify a symbol with the base name without extension as the file that implements it. The class name is expected to be the capitalized symbol.

Defined Under Namespace

Modules: Airbrake, Bugsnag Classes: Default, Error

Constant Summary collapse

METHODS =

methods to be implemented by each external logging service

setup - Meant to configure the service for a general use. Each other

method in the list calls setup if it has not been called
before.

setup_rake - Perform additional configuration for Rake setup_rack - Receives the Rack object, meant to add a middleware. setup_worker - Additional configuration for job worker usage. notify_proc - The global logger’s notify method will call the proc

returned by this. If nil is returned a fallback will
be chosen for that method (typically local logging).
[:setup, :setup_rake, :setup_rack,
:setup_worker, :notify_proc].freeze

Class Method Summary collapse

Class Method Details

.load(impl) ⇒ Object

returns the class implementing the logging service



46
47
48
49
50
# File 'lib/3scale/backend/logging/external/impl.rb', line 46

def load(impl)
  require(find_file impl)

  fetch_impl_klass impl
end