module Journald::Logger::Loggable

Constants

LEVEL_MAP

our map differs from Syslog::Logger

Public Instance Methods

<<(value) click to toggle source
# File lib/journald/modules/loggable.rb, line 54
def <<(value)
  debug(value)
end
add(severity, message = nil, progname = nil) { || ... } click to toggle source
# File lib/journald/modules/loggable.rb, line 16
def add(severity, message = nil, progname = nil)
  priority = severity_to_priority(severity) || LEVEL_MAP[::Logger::UNKNOWN]

  # some black magic from Logger O__o
  progname ||= self.progname
  if message.nil?
    if block_given?
      message = yield
    else
      message = progname
      progname = self.progname
    end
  end

  send_message(
    priority: priority,
    message: message,
    syslog_identifier: progname,
  )
end
Also aliased as: log
close() click to toggle source
# File lib/journald/modules/loggable.rb, line 101
def close; end
datetime_format() click to toggle source
# File lib/journald/modules/loggable.rb, line 98
def datetime_format; end
datetime_format=(_) click to toggle source
# File lib/journald/modules/loggable.rb, line 99
def datetime_format=(_); end
formatter() click to toggle source

journald does not require formatter or formatting

# File lib/journald/modules/loggable.rb, line 96
def formatter; end
formatter=(_) click to toggle source
# File lib/journald/modules/loggable.rb, line 97
def formatter=(_); end
level() click to toggle source

journald always logs everything

# File lib/journald/modules/loggable.rb, line 61
def level
  priority = self.min_priority
  LEVEL_MAP.select { |_, p| p <= priority }.keys.min
end
Also aliased as: sev_threshold
level=(severity) click to toggle source
# File lib/journald/modules/loggable.rb, line 66
def level=(severity)
  self.min_priority = severity_to_priority(severity)
end
Also aliased as: sev_threshold=
log(severity, message = nil, progname = nil)
Alias for: add
sev_threshold()
Alias for: level
sev_threshold=(severity)
Alias for: level=
silence(temporary_severity = nil, severity: nil, priority: nil) { |self| ... } click to toggle source
# File lib/journald/modules/loggable.rb, line 70
def silence(temporary_severity = nil, severity: nil, priority: nil)
  prev_priority = self.min_priority

  severity ||= temporary_severity

  temp_priority = if priority
      priority
    elsif severity
      severity_to_priority(severity)
    else
      LOG_ERR
    end

  self.min_priority = temp_priority

  yield self
ensure
  self.min_priority = prev_priority
end
Also aliased as: silence_logger
silence_logger(temporary_severity = nil, severity: nil, priority: nil)
Alias for: silence

Private Instance Methods

severity_to_priority(severity) click to toggle source
# File lib/journald/modules/loggable.rb, line 105
def severity_to_priority(severity)
  LEVEL_MAP[severity]
end