Class: Faulty::Events::LogListener

Inherits:
Object
  • Object
show all
Defined in:
lib/faulty/events/log_listener.rb

Overview

A default listener that logs Faulty events

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger = nil) ⇒ LogListener

Returns a new instance of LogListener.

Parameters:

  • logger (defaults to: nil)

    A logger similar to stdlib Logger. Uses the Rails logger by default if available, otherwise it creates a new Logger to stderr.



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/faulty/events/log_listener.rb', line 12

def initialize(logger = nil)
  @logger = if logger
    logger
  elsif defined?(Rails)
    Rails.logger
  else
    # Lazy-require so consumers who pass their own logger or use Rails
    # don't need the stdlib `logger` gem on the load path. Required for
    # Ruby >= 3.5 where `logger` was extracted from the default gems.
    require 'logger'
    ::Logger.new($stderr)
  end
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



7
8
9
# File 'lib/faulty/events/log_listener.rb', line 7

def logger
  @logger
end

Instance Method Details

#handle(event, payload) ⇒ void

This method returns an undefined value.

Handle an event raised by Faulty

Parameters:

  • event (Symbol)

    The event name. Will be a member of EVENTS.

  • payload (Hash)

    A hash with keys based on the event type



27
28
29
30
31
# File 'lib/faulty/events/log_listener.rb', line 27

def handle(event, payload)
  return unless EVENT_SET.include?(event)

  send(event, payload)
end