class Mixlib::Log::Logger

Public Class Methods

new(logdev) click to toggle source

Synopsis

Logger.new(name, shift_age = 7, shift_size = 1048576)
Logger.new(name, shift_age = 'weekly')

Args

logdev

The log device. This is a filename (String) or IO object (typically +$stdout+, +$stderr+, or an open file).

shift_age

Number of old log files to keep, or frequency of rotation (daily, weekly or monthly).

shift_size

Maximum logfile size (only applies when shift_age is a number).

Description

Create an instance.

# File lib/mixlib/log/logger.rb, line 35
def initialize(logdev)
  @progname = nil
  @level = DEBUG
  @default_formatter = Formatter.new
  @formatter = nil
  @logdev = nil
  if logdev
    @logdev = LocklessLogDevice.new(logdev)
  end
end

Public Instance Methods

add(severity, message, progname, data: {})
Alias for: add_data
add_data(severity, message, progname, data: {}) click to toggle source
# File lib/mixlib/log/logger.rb, line 46
def add_data(severity, message, progname, data: {})
  return true if @logdev.nil? || severity < @level

  data ||= {}
  if message.is_a?(::Exception)
    data[:err] = message
  else
    data[:msg] = message
  end
  @logdev.write(
    format_message(to_label(severity), Time.now, progname, data)
  )
  true
end
Also aliased as: add
trace?() click to toggle source
# File lib/mixlib/log/logger.rb, line 12
def trace?; @level <= TRACE; end