Parent

Included Modules

Files

Class/Module Index [+]

Quicksearch

Logger::Syslog

Constants

LEVEL_LOGGER_MAP

Maps Logger log level values to syslog log levels.

LOGGER_LEVEL_MAP

Maps Logger log levels to their values so we can silence.

LOGGER_MAP

Maps Logger warning types to syslog(3) warning types.

SEV_LABEL

Severity label for logging. (max 5 char)

VERSION

The version of Logger::Syslog you are using.

Attributes

formatter[RW]

Logging formatter. formattercall is invoked with 4 arguments; severity, time, progname and msg for each log. Bear in mind that time is a Time and msg is an Object that user passed and it could not be a String. It is expected to return a logdevwrite-able Object. Default formatter is used when no formatter is set.

level[RW]

Log level for Logger compatibility.

progname[RW]

Logging program name.

sev_threshold[RW]

Log level for Logger compatibility.

sev_threshold=[RW]

Log level for Logger compatibility.

Public Class Methods

new(program_name = 'rails', facility = Syslog::LOG_USER, logopts=nil) click to toggle source

Fills in variables for Logger compatibility. If this is the first instance of Logger::Syslog, program_name may be set to change the logged program name and facility may be set to specify a custom facility with your syslog daemon.

Due to the way syslog works, only one program name may be chosen.

# File lib/syslog-logger.rb, line 96
def initialize(program_name = 'rails', facility = Syslog::LOG_USER, logopts=nil)
  @default_formatter = Logger::SyslogFormatter.new
  @formatter         = nil
  @progname          = nil
  @level             = Logger::DEBUG

  return if defined? SYSLOG
  self.class.const_set :SYSLOG, Syslog.open(program_name, logopts, facility)
end

Public Instance Methods

<<(message) click to toggle source

In Logger, this dumps the raw message; the closest equivalent would be Logger::UNKNOWN

# File lib/syslog-logger.rb, line 135
def <<(message)
  add(Logger::UNKNOWN, message)
end
add(severity, message = nil, progname = nil, &block) click to toggle source

Almost duplicates Logger#add. progname is ignored.

# File lib/syslog-logger.rb, line 107
def add(severity, message = nil, progname = nil, &block)
  severity ||= Logger::UNKNOWN
  if severity < @level
    return true
  end
  if message.nil?
    if block_given?
      message = yield
    else
      message = progname
      progname = @progname
    end
  end
  SYSLOG.send(LEVEL_LOGGER_MAP[severity], format_message(format_severity(severity), Time.now, progname, clean(message)))
  true
end
datetime_format() click to toggle source
# File lib/syslog-logger.rb, line 76
def datetime_format
  @default_formatter.datetime_format
end
datetime_format=(datetime_format) click to toggle source

Logging date-time format (string passed to strftime).

# File lib/syslog-logger.rb, line 72
def datetime_format=(datetime_format)
  @default_formatter.datetime_format = datetime_format
end
silence(temporary_level = Logger::ERROR) click to toggle source

Allows messages of a particular log level to be ignored temporarily.

# File lib/syslog-logger.rb, line 125
def silence(temporary_level = Logger::ERROR)
  old_logger_level = @level
  @level = temporary_level
  yield
ensure
  @level = old_logger_level
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.