Sha256: 4df7b37f1aecc24d94219b04f9f956cfbac8238535c0faee0c8dd4751a5ba88d

Contents?: true

Size: 726 Bytes

Versions: 15

Compression:

Stored size: 726 Bytes

Contents

require 'logger'

module FilteringLogger
  attr_reader :filters

  def filters=(f)
    raise ArgumentError, "Must provide an array" unless f.is_a?(Array)

    @filters = f
  end

  def add(s, m = nil, p = nil, &blk)
    p ||= @progname

    if @filters && p
      @filters.each do |re, sev|
        if re === p
          if s < sev
            return true
          else
            # We force the severity to nil for this call to override
            # the logger's default severity filtering logic, because
            # messages without a severity are always logged
            return super(nil, m, p, &blk)
          end
        end
      end
    end

    super
  end

  alias log add
end

Logger.prepend(FilteringLogger)

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
service_skeleton-0.0.0.34.g4f6fdb0 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.30.g32b8169 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.29.g23642ab lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.28.gae2711b lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.25.gbf57918 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.20.gb9a0460 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.16.g99ff4d7 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.15.g53952e3 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.14.g60b4507 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.13.ga523c90 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.11.gc1cf3ce lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.3.g1269800.1.gaaa2fa1.6.gf4e308e lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.3.g1269800.1.gaaa2fa1 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.3.g1269800 lib/service_skeleton/filtering_logger.rb
service_skeleton-0.0.0.2.g46c1e0e lib/service_skeleton/filtering_logger.rb