class Semlogr::Config::LoggerConfig
Public Class Methods
new()
click to toggle source
# File lib/semlogr/config/logger_config.rb, line 14 def initialize @min_severity = LogSeverity::DEBUG @enrichers = [] @filters = [] @sinks = [] end
Public Instance Methods
create_logger()
click to toggle source
# File lib/semlogr/config/logger_config.rb, line 41 def create_logger sink = Sinks::Aggregate.new(@sinks) sink = Sinks::Filtering.new(@filters, sink) if @filters.any? sink = Sinks::Enriching.new(@enrichers, sink) if @enrichers.any? Logger.new(@min_severity, sink) end
enrich_with(enricher, *params)
click to toggle source
# File lib/semlogr/config/logger_config.rb, line 29 def enrich_with(enricher, *params) enricher = resolve_enricher(enricher, params) @enrichers << enricher end
filter(filter)
click to toggle source
# File lib/semlogr/config/logger_config.rb, line 25 def filter(filter) @filters << filter end
log_at(severity)
click to toggle source
# File lib/semlogr/config/logger_config.rb, line 21 def log_at(severity) @min_severity = LogSeverity.create(severity) end
write_to(sink, *params) { |sink_config| ... }
click to toggle source
# File lib/semlogr/config/logger_config.rb, line 34 def write_to(sink, *params) sink_config = SinkConfig.new yield(sink_config) if block_given? @sinks << sink_config.create_sink(sink, *params) end
Private Instance Methods
resolve_enricher(enricher, params)
click to toggle source
# File lib/semlogr/config/logger_config.rb, line 51 def resolve_enricher(enricher, params) return enricher unless enricher.is_a?(Symbol) ComponentRegistry.resolve(:enricher, enricher, *params) end