lib/r10k/logging.rb in r10k-1.0.0rc2 vs lib/r10k/logging.rb in r10k-1.0.0rc3
- old
+ new
@@ -5,10 +5,12 @@
module R10K::Logging
include Log4r
+ LOG_LEVELS = %w{DEBUG2 DEBUG1 DEBUG INFO NOTICE WARN ERROR FATAL}
+
def logger_name
self.class.to_s
end
def logger
@@ -20,24 +22,41 @@
end
class << self
include Log4r
+ def levels
+ @levels ||= LOG_LEVELS.each.inject({}) do |levels, k|
+ levels[k] = Log4r.const_get(k)
+ levels
+ end
+ end
+
+ def parse_level(val)
+ begin
+ Integer(val)
+ rescue
+ levels[val.upcase]
+ end
+ end
+
def included(klass)
unless @log4r_loaded
- Configurator.custom_levels(*%w{DEBUG2 DEBUG1 DEBUG INFO NOTICE WARN ERROR FATAL})
+ Configurator.custom_levels(*LOG_LEVELS)
Logger.global.level = Log4r::ALL
@log4r_loaded = true
end
end
def level
@level || Log4r::WARN # Default level is WARN
end
def level=(val)
- outputter.level = val
- @level = val
+ level = parse_level val
+ raise "Invalid log level: #{val}" unless level
+ outputter.level = level
+ @level = level
end
def formatter
@formatter ||= Log4r::PatternFormatter.new(:pattern => '[%C - %l] %m')
end