Sha256: 1af3fdf35e7a4aaebb63ecd0381f3343a1ee97f641fd88b229b6f789427e68d7
Contents?: true
Size: 918 Bytes
Versions: 3
Compression:
Stored size: 918 Bytes
Contents
module Bio module Log # The filter logger changes behaviour module LoggerFilter def filter &filter_func @use_filter = filter_func @outputters.each do | out | # p [:adding_filter_to,out] out.class.send(:define_method, :filtered?) do |l,s,m| # p [:called,l,s,m] filter_func.call(l,s,m) end raise 'hell' if !out.class.method_defined?(:filtered?) end @level = default_level # will recreate logger methods @sub_level = default_sub_level end def reset_filter @use_filter = nil @outputters.each do | out | if out.class.method_defined?(:filtered?) out.class.send(:remove_method, :filtered?) end end @level = default_level # will recreate logger methods @sub_level = default_sub_level end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bio-logger-1.0.1 | lib/bio/log/loggerfilter.rb |
bio-logger-1.0.0 | lib/bio/log/loggerfilter.rb |
bio-logger-0.9.0 | lib/bio/log/loggerfilter.rb |