Module: Moon::Logfmt::StdlibLoggable

Includes:
Severity
Included in:
Logger
Defined in:
lib/moon-logfmt/stdlib_loggable.rb

Overview

Interface for the stdlib Logger class

Constant Summary

Constants included from Severity

Moon::Logfmt::Severity::DEBUG, Moon::Logfmt::Severity::ERROR, Moon::Logfmt::Severity::FATAL, Moon::Logfmt::Severity::INFO, Moon::Logfmt::Severity::UNKNOWN, Moon::Logfmt::Severity::WARN

std Logger interface collapse

Instance Method Details

#add(severity, message = nil, progname = nil, &block) ⇒ Object Also known as: log

Adds a new logger message

Parameters:

  • severity (Severity)
  • message (String, nil) (defaults to: nil)
  • progname (String, nil) (defaults to: nil)

Yield Returns:

  • (String)

    message



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/moon-logfmt/stdlib_loggable.rb', line 17

def add(severity, message = nil, progname = nil, &block)
  return if severity < @level
  msg = if block_given?
    block.call
  elsif message
    message
  else
    tmp = progname
    progname = nil
    tmp
  end
  data = {}
  msg.is_a?(Hash) ? data.merge!(msg) : data.store(:msg, msg)
  write_context(severity, Time.now, progname, data)
end

#debug(progname = nil, &block) ⇒ Object

See #info for more information. (see #info)



49
50
51
# File 'lib/moon-logfmt/stdlib_loggable.rb', line 49

def debug(progname = nil, &block)
  add(DEBUG, nil, progname, &block)
end

#error(progname = nil, &block) ⇒ Object

See #info for more information. (see #info)



55
56
57
# File 'lib/moon-logfmt/stdlib_loggable.rb', line 55

def error(progname = nil, &block)
  add(ERROR, nil, progname, &block)
end

#fatal(progname = nil, &block) ⇒ Object

See #info for more information. (see #info)



61
62
63
# File 'lib/moon-logfmt/stdlib_loggable.rb', line 61

def fatal(progname = nil, &block)
  add(FATAL, nil, progname, &block)
end

#info(data) ⇒ Object #info(message) ⇒ Object #info(progname, &block) ⇒ Object

Logs a message

Overloads:

  • #info(data) ⇒ Object

    Parameters:

    • data (Hash)
      • data to log

  • #info(message) ⇒ Object

    Parameters:

    • message (String)
      • message to log

  • #info(progname, &block) ⇒ Object

    Parameters:

    • progname (String)
      • program name

    Yield Returns:

    • (String)

      message - message to log



43
44
45
# File 'lib/moon-logfmt/stdlib_loggable.rb', line 43

def info(progname = nil, &block)
  add(INFO, nil, progname, &block)
end

#unknown(progname = nil, &block) ⇒ Object

See #info for more information. (see #info)



67
68
69
# File 'lib/moon-logfmt/stdlib_loggable.rb', line 67

def unknown(progname = nil, &block)
  add(UNKNOWN, nil, progname, &block)
end

#warn(progname = nil, &block) ⇒ Object

See #info for more information. (see #info)



73
74
75
# File 'lib/moon-logfmt/stdlib_loggable.rb', line 73

def warn(progname = nil, &block)
  add(WARN, nil, progname, &block)
end