Class: Semlogr::LoggerConfiguration
- Inherits:
-
Object
- Object
- Semlogr::LoggerConfiguration
- Defined in:
- lib/semlogr/logger_configuration.rb
Instance Method Summary collapse
- #create_logger ⇒ Object
- #enrich_with(enricher, *params) ⇒ Object
- #filter(filter) ⇒ Object
-
#initialize ⇒ LoggerConfiguration
constructor
A new instance of LoggerConfiguration.
- #log_at(severity) ⇒ Object
- #write_to(sink, *params) ⇒ Object
Constructor Details
#initialize ⇒ LoggerConfiguration
Returns a new instance of LoggerConfiguration.
8 9 10 11 12 13 |
# File 'lib/semlogr/logger_configuration.rb', line 8 def initialize @min_severity = LogSeverity::DEBUG @enrichers = [] @filters = [] @sinks = [] end |
Instance Method Details
#create_logger ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/semlogr/logger_configuration.rb', line 33 def create_logger enricher = Enrichers::Aggregate.new(@enrichers) sink = Sinks::Aggregate.new(@sinks) sink = Sinks::Filtering.new(@filters, sink) if @filters.any? Logger.new( @min_severity, enricher, sink ) end |
#enrich_with(enricher, *params) ⇒ Object
23 24 25 26 |
# File 'lib/semlogr/logger_configuration.rb', line 23 def enrich_with(enricher, *params) enricher = ComponentRegistry.resolve(:enricher, enricher, *params) if enricher.is_a?(Symbol) @enrichers << enricher end |
#filter(filter) ⇒ Object
19 20 21 |
# File 'lib/semlogr/logger_configuration.rb', line 19 def filter(filter) @filters << filter end |
#log_at(severity) ⇒ Object
15 16 17 |
# File 'lib/semlogr/logger_configuration.rb', line 15 def log_at(severity) @min_severity = LogSeverity.create(severity) end |
#write_to(sink, *params) ⇒ Object
28 29 30 31 |
# File 'lib/semlogr/logger_configuration.rb', line 28 def write_to(sink, *params) sink = ComponentRegistry.resolve(:sink, sink, *params) if sink.is_a?(Symbol) @sinks << sink end |