Class: Bricolage::StreamingLoad::AlertingLogger

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/bricolage/streamingload/alertinglogger.rb

Instance Method Summary collapse

Constructor Details

#initialize(logger:, sns_datasource:, alert_level: 'warn') ⇒ AlertingLogger

Returns a new instance of AlertingLogger.



10
11
12
13
14
# File 'lib/bricolage/streamingload/alertinglogger.rb', line 10

def initialize(logger:, sns_datasource:, alert_level: 'warn')
  @logger = logger
  @alerter = Bricolage::Logger.new(device: sns_datasource)
  @alerter.level = ::Logger.const_get(alert_level.upcase)
end

Instance Method Details

#exception(ex) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/bricolage/streamingload/alertinglogger.rb', line 29

def exception(ex)
  @logger.exception(ex)
  begin
    @alerter.error(ex.message)
  rescue Exception => err
    @logger.error "could not send alert: #{err.message}"
  end
end