Module: EventLoggerRails

Defined in:
lib/event_logger_rails.rb,
lib/event_logger_rails/event.rb,
lib/event_logger_rails/engine.rb,
lib/event_logger_rails/output.rb,
lib/event_logger_rails/emitter.rb,
lib/event_logger_rails/message.rb,
lib/event_logger_rails/version.rb,
lib/event_logger_rails/event_logger.rb,
lib/event_logger_rails/current_request.rb,
lib/event_logger_rails/formatters/json.rb,
lib/event_logger_rails/extensions/loggable.rb,
lib/generators/event_logger_rails/install_generator.rb,
lib/event_logger_rails/exceptions/unregistered_event.rb,
app/models/concerns/event_logger_rails/loggable_model.rb,
lib/event_logger_rails/exceptions/invalid_logger_level.rb,
lib/event_logger_rails/middleware/capture_request_details.rb,
app/controllers/concerns/event_logger_rails/loggable_controller.rb

Overview

Provides configurable state and public API for EventLoggerRails. Also serves as the namespace for the gem.

Defined Under Namespace

Modules: Exceptions, Extensions, Formatters, Generators, LoggableController, LoggableModel, Middleware Classes: CurrentRequest, Emitter, Engine, Event, EventLogger, Message, Output

Constant Summary collapse

VERSION =

The version of the gem.

Returns:

  • (String)

    The version of the gem.

'0.4.0'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#default_levelSymbol (readonly)

Returns The default level of the events logged by EventLoggerRails.

Returns:

  • (Symbol)

    The default level of the events logged by EventLoggerRails.



24
# File 'lib/event_logger_rails.rb', line 24

mattr_accessor :default_level

#formatterClass (readonly)

Returns The formatter to use for logging.

Returns:

  • (Class)

    The formatter to use for logging.



28
# File 'lib/event_logger_rails.rb', line 28

mattr_accessor :formatter

#logdevIO, #write (readonly)

Returns The log device used by EventLoggerRails.

Returns:

  • (IO, #write)

    The log device used by EventLoggerRails.



32
# File 'lib/event_logger_rails.rb', line 32

mattr_accessor :logdev

#logger_classClass (readonly)

Returns The logger class used by EventLoggerRails.

Returns:

  • (Class)

    The logger class used by EventLoggerRails.



36
# File 'lib/event_logger_rails.rb', line 36

mattr_accessor :logger_class

#registered_eventsArray<Hash> (readonly)

Returns The events registry defined in the config/event_logger_rails.yml file.

Returns:

  • (Array<Hash>)

    The events registry defined in the config/event_logger_rails.yml file.



40
# File 'lib/event_logger_rails.rb', line 40

mattr_accessor :registered_events

#sensitive_fieldsArray<Symbol> (readonly)

Returns The fields which may contain sensitive data that EventLoggerRails should filter.

Returns:

  • (Array<Symbol>)

    The fields which may contain sensitive data that EventLoggerRails should filter.



44
# File 'lib/event_logger_rails.rb', line 44

mattr_accessor :sensitive_fields

Class Method Details

.emitterEmitter

Returns or initializes the Emitter instance for EventLoggerRails.

Returns:

  • (Emitter)

    The Emitter instance used for logging events.



61
62
63
# File 'lib/event_logger_rails.rb', line 61

def self.emitter
  @emitter ||= Emitter.new
end

.logInteger

Forwards the arguments to the Emitter’s log method.

Examples:

EventLoggerRails.log('foo.bar.baz', level: :info, data: { foo: 'bar' })

Parameters:

  • event (EventLoggerRails::Event, String)

    The event to log. Can be a string or an Event object.

  • level (Symbol)

    The level of the event.

  • data (Hash)

    Additional data to log.

Returns:

  • (Integer)

    The number of bytes written to the log.



71
72
73
# File 'lib/event_logger_rails.rb', line 71

def self.log(...)
  emitter.log(...)
end

.resetvoid

This method returns an undefined value.

Resets the Emitter instance.



78
79
80
# File 'lib/event_logger_rails.rb', line 78

def self.reset
  @emitter = nil
end

.setup {|self| ... } ⇒ void

This method returns an undefined value.

Provides a method for configuring EventLoggerRails.

Examples:

EventLoggerRails.setup do |config|
  config.default_level = :info
end

Yields:

  • (self)

    Gives the class itself to the block for configuration.



54
55
56
# File 'lib/event_logger_rails.rb', line 54

def self.setup
  yield self
end