class SyslogLogDev
Public Class Methods
new(program_name, facility = 'daemon', log_to_stderr = false)
click to toggle source
# File lib/unicorn-cuba-base/root_logger.rb, line 148 def initialize(program_name, facility = 'daemon', log_to_stderr = false) require 'syslog' facility = "LOG_#{facility.upcase}".to_sym Syslog.constants.include? facility or fail "No such syslog facility: #{facility}" facility = Syslog.const_get facility @log_level_mapping = Hash[%w{DEBUG INFO WARN ERROR FATAL}.zip( [Syslog::LOG_DEBUG, Syslog::LOG_INFO, Syslog::LOG_WARNING, Syslog::LOG_ERR, Syslog::LOG_CRIT] )] @log_level_mapping.default = Syslog::LOG_NOTICE flags = Syslog::LOG_PID | Syslog::LOG_NDELAY if log_to_stderr STDERR.sync = true flags |= Syslog::LOG_PERROR end @syslog = Syslog.open(program_name, flags, facility) end
Public Instance Methods
close()
click to toggle source
# File lib/unicorn-cuba-base/root_logger.rb, line 175 def close @syslog.close end
write(msg)
click to toggle source
# File lib/unicorn-cuba-base/root_logger.rb, line 170 def write(msg) log_level, msg = *msg.match(/([^ ]+) (.*)/m).captures @syslog.log(@log_level_mapping[log_level], "%s", msg.chomp) end