Programatically define the log level methods and use the Logger constants instead (SyslogLogger didnt define them as I expected)

This commit is contained in:
David Heinemeier Hansson 2011-10-19 14:53:34 -05:00
parent 533451a5b6
commit 18dbfcb363

@ -1,3 +1,5 @@
require 'logger'
module ActiveSupport
# Wraps any standard Logger class to provide tagging capabilities. Examples:
#
@ -27,29 +29,12 @@ def add(severity, message = nil, progname = nil, &block)
@logger.add(severity, "#{tags}#{message}", progname, &block)
end
def fatal(progname = nil, &block)
add(@logger.class::FATAL, progname, &block)
end
def error(progname = nil, &block)
add(@logger.class::ERROR, progname, &block)
end
def warn(progname = nil, &block)
add(@logger.class::WARN, progname, &block)
end
def info(progname = nil, &block)
add(@logger.class::INFO, progname, &block)
end
def debug(progname = nil, &block)
add(@logger.class::DEBUG, progname, &block)
end
def unknown(progname = nil, &block)
add(@logger.class::UNKNOWN, progname, &block)
%w( fatal error warn info debug unkown ).each do |severity|
eval <<-EOM, nil, __FILE__, __LINE__ + 1
def #{severity}(progname = nil, &block)
add(Logger::#{severity.upcase}, progname, &block)
end
EOM
end