class MCollective::Logger::File_logger
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
Public Instance Methods
log(level, from, msg)
click to toggle source
# File lib/mcollective/logger/file_logger.rb 39 def log(level, from, msg) 40 @logger.add(map_level(level)) { "#{from} #{msg}" } 41 rescue 42 # if this fails we probably cant show the user output at all, 43 # STDERR it as last resort 44 STDERR.puts("#{level}: #{msg}") 45 end
reopen()
click to toggle source
# File lib/mcollective/logger/file_logger.rb 47 def reopen 48 level = @logger.level 49 @logger.close 50 start 51 @logger.level = level 52 end
set_logging_level(level)
click to toggle source
# File lib/mcollective/logger/file_logger.rb 24 def set_logging_level(level) 25 @logger.level = map_level(level) 26 rescue Exception => e 27 @logger.level = ::Logger::DEBUG 28 log(:error, "", "Could not set logging to #{level} using debug instead: #{e.class} #{e}") 29 end
start()
click to toggle source
# File lib/mcollective/logger/file_logger.rb 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 # ISO-8601 with sub-second precision and offset from UTC. 19 @logger.formatter.datetime_format = "%Y-%m-%dT%H:%M:%S.%6N%:z " 20 21 set_level(config.loglevel.to_sym) 22 end
valid_levels()
click to toggle source
# File lib/mcollective/logger/file_logger.rb 31 def valid_levels 32 {:info => ::Logger::INFO, 33 :warn => ::Logger::WARN, 34 :debug => ::Logger::DEBUG, 35 :fatal => ::Logger::FATAL, 36 :error => ::Logger::ERROR} 37 end