moon-logfmt 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ad3d92684b23cd251495e9723dddbcd87db16ae8
4
- data.tar.gz: e393c13c1f7c40e8d64313cf48d2826f93ae82a4
3
+ metadata.gz: d2c2cc32328979904f5d73fb7f1854accb1fea25
4
+ data.tar.gz: eaba4aa399c6d09e44dafa80db2de33fb501723e
5
5
  SHA512:
6
- metadata.gz: ce0188e6c9f29a7a43f33648d460b2b66bd088b0f2bd14afb1eb9f6c24af87582f92925f657e06e72fb5a9679ef74e09d681cf7b2967e0eb795af51f921aad94
7
- data.tar.gz: f81eca8be731925137a3777842e74d75ad727dfe0b95f339ca2e5f3a13e952a5ccf747a3376fbd4ab293eecdc2e4abe3f0cb9598426a1d488fe52cdda7ecb79c
6
+ metadata.gz: b0286984499da77e1646e3fb5488f94e92f22e8f6946e8e2a845beaedce3a310f4be01b16b3451b38d07e2e40052a5e871d1da98ba0a58730ed63bb658007b08
7
+ data.tar.gz: 5faa79d4482fcc8efc9fb40a8374d52e25e70f32b515a1a406f7e947ec9bd3c8b375a98833adcb15e22a3e4c5924782202ae9cc182986fab184f5af93a50ba58
@@ -9,7 +9,6 @@ module Moon
9
9
  # #new will copy the current logger and append its context data
10
10
  class Logger
11
11
  include StdlibLoggable
12
- include Severity
13
12
 
14
13
  # The default datetime string format
15
14
  # @return [String]
@@ -67,21 +66,6 @@ module Moon
67
66
  self
68
67
  end
69
68
 
70
- # @param [Integer] severity
71
- # @return [Symbol]
72
- private def severity_to_symbol(severity)
73
- case severity
74
- when DEBUG then :debug
75
- when INFO then :info
76
- when WARN then :warn
77
- when ERROR then :error
78
- when FATAL then :fatal
79
- when UNKNOWN then :unknown
80
- else
81
- severity.to_s
82
- end
83
- end
84
-
85
69
  # Adds timestamp information to the provided data
86
70
  #
87
71
  # @param [Hash<Symbol, Object>] data to add timestamp to
@@ -95,18 +79,22 @@ module Moon
95
79
  # @param [Hash<[String, Symbol], String>] data
96
80
  # @return [String]
97
81
  private def format_context(severity, time, progname, ctx)
98
- data = {}
99
- data[:level] = severity_to_symbol(severity) if severity
100
- timestamp_context(data) if @timestamp
101
- data[:progname] = progname if progname
102
- data.merge!(ctx)
103
82
  str = []
104
- Logfmt.escape_context_data data do |key, value|
83
+ Moon::Logfmt.escape_context_data ctx do |key, value|
105
84
  str << @key_value_formatter.call(key, value)
106
85
  end
107
86
  @formatter.call(severity, time, progname, str.join(' '))
108
87
  end
109
88
 
89
+ private def transform_context(severity, time, progname, ctx)
90
+ data = {}
91
+ data[:level] = Moon::Logfmt.loglevel_to_symbol(severity) if severity
92
+ timestamp_context(data) if @timestamp
93
+ data[:progname] = progname if progname
94
+ data.merge!(context.merge(ctx))
95
+ data
96
+ end
97
+
110
98
  protected def write_to_logdev(str)
111
99
  @io.puts str
112
100
  end
@@ -117,7 +105,8 @@ module Moon
117
105
  # @param [String] progname
118
106
  # @param [Hash] ctx
119
107
  protected def write_context(severity, time, progname, ctx)
120
- write_to_logdev format_context(severity, time, progname, context.merge(ctx))
108
+ result_ctx = transform_context(severity, time, progname, ctx)
109
+ write_to_logdev format_context(severity, time, progname, result_ctx)
121
110
  end
122
111
 
123
112
  # Writes a new log line
@@ -16,8 +16,15 @@ module Moon
16
16
  # @yieldreturn [String] message
17
17
  def add(severity, message = nil, progname = nil, &block)
18
18
  return if severity < @level
19
- message = message || (block && block.call)
20
- msg = message || progname
19
+ msg = if block_given?
20
+ block.call
21
+ elsif message
22
+ message
23
+ else
24
+ tmp = progname
25
+ progname = nil
26
+ tmp
27
+ end
21
28
  data = {}
22
29
  msg.is_a?(Hash) ? data.merge!(msg) : data.store(:msg, msg)
23
30
  write_context(severity, Time.now, progname, data)
@@ -45,6 +45,21 @@ module Moon
45
45
  end
46
46
  end
47
47
 
48
+ # @param [Integer] loglevel
49
+ # @return [Symbol]
50
+ def self.loglevel_to_symbol(loglevel)
51
+ case loglevel
52
+ when Moon::Logfmt::Severity::DEBUG then :debug
53
+ when Moon::Logfmt::Severity::INFO then :info
54
+ when Moon::Logfmt::Severity::WARN then :warn
55
+ when Moon::Logfmt::Severity::ERROR then :error
56
+ when Moon::Logfmt::Severity::FATAL then :fatal
57
+ when Moon::Logfmt::Severity::UNKNOWN then :unknown
58
+ else
59
+ loglevel.to_s
60
+ end
61
+ end
62
+
48
63
  # (see Moon::Logfmt::Logger#initialize)
49
64
  def self.new(*args, &block)
50
65
  Moon::Logfmt::Logger.new(*args, &block)
@@ -3,7 +3,7 @@ module Moon
3
3
  # Version module
4
4
  module Version
5
5
  # @return [Integer, nil]
6
- MAJOR, MINOR, TEENY, PATCH = 1, 1, 0, nil
6
+ MAJOR, MINOR, TEENY, PATCH = 1, 2, 0, nil
7
7
  # @return [String]
8
8
  STRING = [MAJOR, MINOR, TEENY, PATCH].compact.join('.')
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moon-logfmt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Blaž Hrastnik
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-04-08 00:00:00.000000000 Z
12
+ date: 2016-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: moon-null_io
@@ -169,9 +169,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  version: '0'
170
170
  requirements: []
171
171
  rubyforge_project:
172
- rubygems_version: 2.5.1
172
+ rubygems_version: 2.6.6
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: An implementation of Logfmt encoding.
176
176
  test_files: []
177
- has_rdoc: