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, &block) click to toggle source
# File lib/journald/modules/loggable.rb, line 16
def add(severity, message = nil, progname = nil, &block)
  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 = block.call
    else
      message = progname
      progname = self.progname
    end
  end

  send(
      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, &block)
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 104
def severity_to_priority(severity)
  LEVEL_MAP[severity]
end