class Logging::Filters::Level
The ‘Level` filter class provides a simple level-based filtering mechanism that allows events whose log level matches a preconfigured list of values.
Public Class Methods
Source
# File lib/logging/filters/level.rb, line 17 def initialize(*levels) super() levels = levels.flatten.map {|level| ::Logging::level_num(level)} @levels = Set.new(levels) end
Creates a new level filter that will only allow the given levels to propagate through to the logging destination. The levels should be given in symbolic form.
Examples
Logging::Filters::Level.new(:debug, :info)
Calls superclass method
Logging::Filter::new
Public Instance Methods
Source
# File lib/logging/filters/level.rb, line 27 def allow(event) @levels.include?(event.level) ? event : nil end
Returns the event if it should be forwarded to the logging appender. Otherwise, ‘nil` is returned. The log event is allowed if the `event.level` matches one of the levels provided to the filter when it was constructred.