Class MCollective::Logger::Base
In: lib/mcollective/logger/base.rb
Parent: Object

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

Methods

cycle_level   new   set_level  

Attributes

active_level  [R] 

Public Class methods

[Source]

    # File lib/mcollective/logger/base.rb, line 14
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

Figures out the next level and sets it

[Source]

    # File lib/mcollective/logger/base.rb, line 24
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

Sets a new level and record it in @active_level

[Source]

    # File lib/mcollective/logger/base.rb, line 32
32:             def set_level(level)
33:                 set_logging_level(level)
34:                 @active_level = level.to_sym
35:             end

[Validate]