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 14 def initialize 15 @known_levels = [:debug, :info, :warn, :error, :fatal] 16 17 # Sanity check the class that impliments the logging 18 @known_levels.each do |lvl| 19 raise "Logger class did not specify a map for #{lvl}" unless valid_levels.include?(lvl) 20 end 21 end
Public Instance Methods
cycle_level()
click to toggle source
Figures out the next level and sets it
# File lib/mcollective/logger/base.rb 24 def cycle_level 25 lvl = get_next_level 26 set_level(lvl) 27 28 log(lvl, "", "Logging level is now #{lvl.to_s.upcase}") 29 end
log(level, from, msg)
click to toggle source
# File lib/mcollective/logger/base.rb 41 def log(level, from, msg) 42 raise "The logging class did not supply a log method" 43 end
reopen()
click to toggle source
# File lib/mcollective/logger/base.rb 45 def reopen 46 # reopen may not make sense to all Loggers, but we expect it of the API 47 end
set_level(level)
click to toggle source
Sets a new level and record it in @active_level
# File lib/mcollective/logger/base.rb 32 def set_level(level) 33 set_logging_level(level) 34 @active_level = level.to_sym 35 end
start()
click to toggle source
# File lib/mcollective/logger/base.rb 37 def start 38 raise "The logging class did not supply a start method" 39 end