Class: SyslogLogDev
- Inherits:
-
Object
- Object
- SyslogLogDev
- Defined in:
- lib/unicorn-cuba-base/root_logger.rb
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(program_name, facility = 'daemon', log_to_stderr = false) ⇒ SyslogLogDev
constructor
A new instance of SyslogLogDev.
- #write(msg) ⇒ Object
Constructor Details
#initialize(program_name, facility = 'daemon', log_to_stderr = false) ⇒ SyslogLogDev
Returns a new instance of SyslogLogDev.
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# 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 |
Instance Method Details
#close ⇒ Object
175 176 177 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 175 def close @syslog.close end |
#write(msg) ⇒ Object
170 171 172 173 |
# 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 |