Class MCollective::Logger::File_logger
In: lib/mcollective/logger/file_logger.rb
Parent: Base

Impliments a file based logger using the standard ruby logger class

To configure you should set:

  - config.logfile
  - config.keeplogs defaults to 2097152
  - config.max_log_size defaults to 5

Methods

Public Instance methods

[Source]

    # File lib/mcollective/logger/file_logger.rb, line 37
37:             def log(level, from, msg)
38:                 @logger.add(map_level(level)) { "#{from} #{msg}" }
39:             rescue
40:                 # if this fails we probably cant show the user output at all,
41:                 # STDERR it as last resort
42:                 STDERR.puts("#{level}: #{msg}")
43:             end

[Source]

    # File lib/mcollective/logger/file_logger.rb, line 22
22:             def set_logging_level(level)
23:                 @logger.level = map_level(level)
24:             rescue Exception => e
25:                 @logger.level = ::Logger::DEBUG
26:                 log(:error, "", "Could not set logging to #{level} using debug instead: #{e.class} #{e}")
27:             end

[Source]

    # File lib/mcollective/logger/file_logger.rb, line 13
13:             def start
14:                 config = Config.instance
15: 
16:                 @logger = ::Logger.new(config.logfile, config.keeplogs, config.max_log_size)
17:                 @logger.formatter = ::Logger::Formatter.new
18: 
19:                 set_level(config.loglevel.to_sym)
20:             end

[Source]

    # File lib/mcollective/logger/file_logger.rb, line 29
29:             def valid_levels
30:                 {:info  => ::Logger::INFO,
31:                  :warn  => ::Logger::WARN,
32:                  :debug => ::Logger::DEBUG,
33:                  :fatal => ::Logger::FATAL,
34:                  :error => ::Logger::ERROR}
35:             end

[Validate]