Class: FlogRuby::Syslogger

Inherits:
Syslog::Logger
  • Object
show all
Includes:
Floggable
Defined in:
lib/flog_ruby/logger_factory.rb

Overview

走Syslog转发机制

Defined Under Namespace

Classes: Formatter

Instance Method Summary collapse

Constructor Details

#initialize(program_name = nil, facility = nil) ⇒ Syslogger

Returns a new instance of Syslogger.



126
127
128
129
130
131
132
133
134
# File 'lib/flog_ruby/logger_factory.rb', line 126

def initialize(program_name = nil, facility = nil)
  program_name = program_name.to_s

  fac = (ENV['SYSLOG_FACILITY'] || 'local0').upcase
  log_fac = "LOG_#{fac}"
  facility ||= Syslog.const_get(log_fac)

  super(program_name, facility)
end

Instance Method Details

#add(severity, message = nil, progname = nil, &block) ⇒ Object



136
137
138
139
140
141
142
# File 'lib/flog_ruby/logger_factory.rb', line 136

def add(severity, message = nil, progname = nil, &block)
  severity ||= ::Logger::UNKNOWN
  progname ||= group
  @level <= severity and
    @@syslog.log((LEVEL_MAP[severity] | @facility), '%s', formatter.call(severity, Time.zone.now, progname, (message || block.call)))
  true
end