class Logging::Filters::Level

The `Level` filter class provides a simple level-based filtering mechanism that filters messages to only include those from an enumerated list of levels to log.

Public Class Methods

new( *levels ) click to toggle source

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)
# File lib/logging/filters/level.rb, line 18
def initialize( *levels )
  levels  = levels.map { |level| ::Logging::level_num(level) }
  @levels = Set.new levels
end

Public Instance Methods

allow( event ) click to toggle source
# File lib/logging/filters/level.rb, line 23
def allow( event )
  @levels.include?(event.level) ? event : nil
end