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 +4 -4
- data/lib/moon-logfmt/logger.rb +12 -23
- data/lib/moon-logfmt/stdlib_loggable.rb +9 -2
- data/lib/moon-logfmt/utils.rb +15 -0
- data/lib/moon-logfmt/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2c2cc32328979904f5d73fb7f1854accb1fea25
|
4
|
+
data.tar.gz: eaba4aa399c6d09e44dafa80db2de33fb501723e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0286984499da77e1646e3fb5488f94e92f22e8f6946e8e2a845beaedce3a310f4be01b16b3451b38d07e2e40052a5e871d1da98ba0a58730ed63bb658007b08
|
7
|
+
data.tar.gz: 5faa79d4482fcc8efc9fb40a8374d52e25e70f32b515a1a406f7e947ec9bd3c8b375a98833adcb15e22a3e4c5924782202ae9cc182986fab184f5af93a50ba58
|
data/lib/moon-logfmt/logger.rb
CHANGED
@@ -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
|
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
|
-
|
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
|
-
|
20
|
-
|
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)
|
data/lib/moon-logfmt/utils.rb
CHANGED
@@ -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)
|
data/lib/moon-logfmt/version.rb
CHANGED
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.
|
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-
|
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.
|
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:
|