Class: RaceGuard::Reporters::LogReporter

Inherits:
Object
  • Object
show all
Defined in:
lib/race_guard/reporters/log_reporter.rb

Overview

Writes a single human-readable line per event to a stdlib Logger.

Instance Method Summary collapse

Constructor Details

#initialize(logger = nil) ⇒ LogReporter

Returns a new instance of LogReporter.



9
10
11
# File 'lib/race_guard/reporters/log_reporter.rb', line 9

def initialize(logger = nil)
  @logger = logger || Logger.new($stderr)
end

Instance Method Details

#report(event) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/race_guard/reporters/log_reporter.rb', line 13

def report(event)
  h = event.to_h
  parts = [h['severity']&.upcase, h['detector'], h['message']]
  parts << "at #{h['location']}" if h['location']
  line = parts.join(' | ')
  @logger.info(line)
end