class MCollective::Logger::Syslog_logger
Implements a syslog based logger using the standard ruby syslog class
Public Instance Methods
log(level, from, msg)
click to toggle source
# File lib/mcollective/logger/syslog_logger.rb 42 def log(level, from, msg) 43 if @known_levels.index(level) >= @known_levels.index(@active_level) 44 Syslog.send(map_level(level), "#{from} #{msg}") 45 end 46 rescue 47 # if this fails we probably cant show the user output at all, 48 # STDERR it as last resort 49 STDERR.puts("#{level}: #{msg}") 50 end
set_logging_level(level)
click to toggle source
# File lib/mcollective/logger/syslog_logger.rb 30 def set_logging_level(level) 31 # noop 32 end
start()
click to toggle source
# File lib/mcollective/logger/syslog_logger.rb 9 def start 10 config = Config.instance 11 12 facility = syslog_facility(config.logfacility) 13 level = config.loglevel.to_sym 14 15 Syslog.close if Syslog.opened? 16 Syslog.open(File.basename($0), 3, facility) 17 18 set_level(level) 19 end
syslog_facility(facility)
click to toggle source
# File lib/mcollective/logger/syslog_logger.rb 21 def syslog_facility(facility) 22 begin 23 Syslog.const_get("LOG_#{facility.upcase}") 24 rescue NameError => e 25 STDERR.puts "Invalid syslog facility #{facility} supplied, reverting to USER" 26 Syslog::LOG_USER 27 end 28 end
valid_levels()
click to toggle source
# File lib/mcollective/logger/syslog_logger.rb 34 def valid_levels 35 {:info => :info, 36 :warn => :warning, 37 :debug => :debug, 38 :fatal => :crit, 39 :error => :err} 40 end