moon-logfmt 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: