Class MCollective::Logger::Syslog_logger
In: lib/mcollective/logger/syslog_logger.rb
Parent: Base

Implements a syslog based logger using the standard ruby syslog class

Methods

Included Modules

Syslog::Constants

Public Instance methods

[Source]

    # File lib/mcollective/logger/syslog_logger.rb, line 42
42:       def log(level, from, msg)
43:         Syslog.send(map_level(level), "#{from} #{msg}")
44:       rescue
45:         # if this fails we probably cant show the user output at all,
46:         # STDERR it as last resort
47:         STDERR.puts("#{level}: #{msg}")
48:       end

[Source]

    # File lib/mcollective/logger/syslog_logger.rb, line 30
30:       def set_logging_level(level)
31:         # noop
32:       end

[Source]

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

[Source]

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

[Source]

    # File lib/mcollective/logger/syslog_logger.rb, line 34
34:       def valid_levels
35:         {:info  => :info,
36:          :warn  => :warning,
37:          :debug => :debug,
38:          :fatal => :crit,
39:          :error => :err}
40:       end

[Validate]