25 lines
438 B
Ruby
25 lines
438 B
Ruby
class Slogger::Filter
|
|
attr_accessor :level, :logdev
|
|
|
|
def initialize level, logdev
|
|
@level = level
|
|
@logdev = logdev
|
|
end
|
|
|
|
def call severity, *a
|
|
return true if @level > severity
|
|
@logdev.add severity, *a
|
|
end
|
|
alias add call
|
|
end
|
|
|
|
%w[debug info warn error fatal].each do |level|
|
|
eval <<-EOC
|
|
class ::Slogger::F#{level.camelcase} < Slogger::Filter
|
|
def initialize *a
|
|
super Slogger::#{level.upcase}, *a
|
|
end
|
|
end
|
|
EOC
|
|
end
|