Module: Moon::Logfmt

Defined in:
lib/moon-logfmt/logfmt.rb,
lib/moon-logfmt/logger.rb,
lib/moon-logfmt/version.rb,
lib/moon-logfmt/formatter.rb,
lib/moon-logfmt/null_logger.rb,
lib/moon-logfmt/stdlib_loggable.rb

Overview

Implementation of logfmt for Moon

Defined Under Namespace

Modules: Severity, StdlibLoggable, Version Classes: Logger

Constant Summary collapse

UNESCAPED_STRING =

Regular expression used for checking strings that may need escaping. This regular expression will validate true if the string doesn’t need escaping.

/\A[\w\.\-\+\%\_\,\:\;\/]*\z/i
VERSION =

Returns:

  • (String)
Version::STRING
FORMATTER =

Default KEY=VALUE formatter

Returns:

  • (String)
->(key, value) { "#{key}=#{value}" }
NullLogger =
Logger.new

Class Method Summary collapse

Class Method Details

.escape_context_data(data) {|key, value| ... } ⇒ Object

Escapes the context values and yields the result.

Parameters:

  • data (Hash<[String, Symbol], String>)

Yield Parameters:

  • key (String)
  • value (String)


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

def self.escape_context_data(data)
  return to_enum :escape_context_data, data unless block_given?
  data.each_pair do |key, value|
    case value
    when Array
      value = value.join(',')
    else
      value = value.to_s
    end
    value = value.dump unless value =~ UNESCAPED_STRING
    yield key.to_s, value
  end
end

.new(*args, &block) ⇒ Object

Parameters:

  • data (Hash<[String, Symbol], String>)


32
33
34
# File 'lib/moon-logfmt/logfmt.rb', line 32

def self.new(*args, &block)
  Moon::Logfmt::Logger.new(*args, &block)
end