class MCollective::Logger::Console_logger

Implements a syslog based logger using the standard ruby syslog class

Public Instance Methods

color(level) click to toggle source

Set some colors for various logging levels, will honor the color configuration option and return nothing if its configured not to

   # File lib/mcollective/logger/console_logger.rb
39 def color(level)
40   colorize = Config.instance.color
41 
42   colors = {:error => Util.color(:red),
43             :fatal => Util.color(:red),
44             :warn  => Util.color(:yellow),
45             :info  => Util.color(:green),
46             :reset => Util.color(:reset)}
47 
48   if colorize
49     return colors[level] || ""
50   else
51     return ""
52   end
53 end
colorize(level, msg) click to toggle source

Helper to return a string in specific color

   # File lib/mcollective/logger/console_logger.rb
56 def colorize(level, msg)
57   "%s%s%s" % [ color(level), msg, color(:reset) ]
58 end
log(level, from, msg, normal_output=STDERR, last_resort_output=STDERR) click to toggle source
   # File lib/mcollective/logger/console_logger.rb
24 def log(level, from, msg, normal_output=STDERR, last_resort_output=STDERR)
25   if @known_levels.index(level) >= @known_levels.index(@active_level)
26     time = Time.new.strftime("%Y/%m/%d %H:%M:%S")
27 
28     normal_output.puts("%s %s: %s %s" % [colorize(level, level), time, from, msg])
29   end
30 rescue
31   # if this fails we probably cant show the user output at all,
32   # STDERR it as last resort
33   last_resort_output.puts("#{level}: #{msg}")
34 end
set_logging_level(level) click to toggle source
   # File lib/mcollective/logger/console_logger.rb
12 def set_logging_level(level)
13   # nothing to do here, we ignore high levels when we log
14 end
start() click to toggle source
   # File lib/mcollective/logger/console_logger.rb
 5 def start
 6   set_level(:info)
 7 
 8   config = Config.instance
 9   set_level(config.loglevel.to_sym) if config.configured
10 end
valid_levels() click to toggle source
   # File lib/mcollective/logger/console_logger.rb
16 def valid_levels
17   {:info  => :info,
18    :warn  => :warning,
19    :debug => :debug,
20    :fatal => :crit,
21    :error => :err}
22 end