class MCollective::Logger::Base
A base class for logging providers.
Logging providers should provide the following:
* start - all you need to do to setup your logging * set_logging_level - set your logging to :info, :warn, etc * valid_levels - a hash of maps from :info to your internal level name * log - what needs to be done to log a specific message
Attributes
active_level[R]
Public Class Methods
new()
click to toggle source
# File lib/mcollective/logger/base.rb, line 14 def initialize @known_levels = [:debug, :info, :warn, :error, :fatal] # Sanity check the class that impliments the logging @known_levels.each do |lvl| raise "Logger class did not specify a map for #{lvl}" unless valid_levels.include?(lvl) end end
Public Instance Methods
cycle_level()
click to toggle source
Figures out the next level and sets it
# File lib/mcollective/logger/base.rb, line 24 def cycle_level lvl = get_next_level set_level(lvl) log(lvl, "", "Logging level is now #{lvl.to_s.upcase}") end
log(level, from, msg)
click to toggle source
# File lib/mcollective/logger/base.rb, line 41 def log(level, from, msg) raise "The logging class did not supply a log method" end
reopen()
click to toggle source
# File lib/mcollective/logger/base.rb, line 45 def reopen # reopen may not make sense to all Loggers, but we expect it of the API end
set_level(level)
click to toggle source
Sets a new level and record it in @active_level
# File lib/mcollective/logger/base.rb, line 32 def set_level(level) set_logging_level(level) @active_level = level.to_sym end
start()
click to toggle source
# File lib/mcollective/logger/base.rb, line 37 def start raise "The logging class did not supply a start method" end