logrb 0.1.2 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -1
- data/LICENSE.txt +1 -1
- data/lib/logrb/version.rb +1 -1
- data/lib/logrb.rb +22 -4
- data/logrb.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a53a6bde1d9ab431f87ad880a69ba3a44f8d0f2e30f130863a960d559b95365
|
4
|
+
data.tar.gz: 1f061d4e844f14e2128bd019fc16c258c23d7fd2d69e9e91631142828ea28274
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a52eb0fa69cee37648bc2561acbcea29baab332a1228bfa94565d42c144ea5051c1125ee5d78a359f5df7f9de7e2bbad994bf6f65cac6865ce8d906dcccec0b
|
7
|
+
data.tar.gz: 71b8c09cd884198abc910854cb7919f5e3c15b82f61c6fcd36ce14ab55c016e40c324ca04f7f986574c3315cbc7c75e7e83d5f9f1cf15c05c8100f9f5686b5ab
|
data/Gemfile.lock
CHANGED
data/LICENSE.txt
CHANGED
data/lib/logrb/version.rb
CHANGED
data/lib/logrb.rb
CHANGED
@@ -25,8 +25,11 @@ require "json"
|
|
25
25
|
# current process to exit with a status 1.
|
26
26
|
#
|
27
27
|
# #warn(msg, **fields): Outputs a warning entry.
|
28
|
+
#
|
28
29
|
# #info(msg, **fields): Outputs a informational entry.
|
30
|
+
#
|
29
31
|
# #debug(msg, **fields): Outputs a debug entry.
|
32
|
+
#
|
30
33
|
# #dump(msg, data=nil): Outputs a given String or Array of bytes using the
|
31
34
|
# same format as `hexdump -C`.
|
32
35
|
class Logrb
|
@@ -88,7 +91,7 @@ class Logrb
|
|
88
91
|
inst
|
89
92
|
end
|
90
93
|
|
91
|
-
LEVELS.except(:error).each_key do |name|
|
94
|
+
LEVELS.except(:error, :fatal).each_key do |name|
|
92
95
|
define_method(name) do |msg, **fields|
|
93
96
|
return if LEVELS[@level] > LEVELS[name]
|
94
97
|
|
@@ -106,6 +109,15 @@ class Logrb
|
|
106
109
|
nil
|
107
110
|
end
|
108
111
|
|
112
|
+
# Public: Emits a fatal message to the log output, and invokes Kernel#exit
|
113
|
+
# with a non-zero status code. When error is provided, this method attempts
|
114
|
+
# to gather a stacktrace to include in the emitted entry. This log entry
|
115
|
+
# cannot be filtered, and is always emitted.
|
116
|
+
def fatal(msg, error = nil, **fields)
|
117
|
+
wrap(:fatal, msg, error, fields)
|
118
|
+
exit 1
|
119
|
+
end
|
120
|
+
|
109
121
|
# Public: Dumps a given String or Array in the same format as `hexdump -C`.
|
110
122
|
def dump(log, data = nil, **fields)
|
111
123
|
return if LEVELS[@level] > LEVELS[:debug]
|
@@ -160,9 +172,9 @@ class Logrb
|
|
160
172
|
|
161
173
|
# Internal: Performs a cleanup for a given backtrace frame.
|
162
174
|
#
|
163
|
-
# trace
|
175
|
+
# trace - Trace to be clean.
|
164
176
|
# include_function_name - Optional. When true, includes the function name
|
165
|
-
#
|
177
|
+
# on the normalized string. Defaults to false.
|
166
178
|
def normalize_location(trace, include_function_name: false)
|
167
179
|
path = trace.absolute_path
|
168
180
|
return trace.to_s if path.nil?
|
@@ -180,6 +192,7 @@ class Logrb
|
|
180
192
|
end
|
181
193
|
|
182
194
|
# Internal: Composes a log line with given information.
|
195
|
+
#
|
183
196
|
# level - The severity of the log message
|
184
197
|
# caller_meta - An Array containing the caller's location and name
|
185
198
|
# msg - The message to be logged
|
@@ -197,6 +210,7 @@ class Logrb
|
|
197
210
|
end
|
198
211
|
|
199
212
|
# Internal: Logs a text entry to the current output.
|
213
|
+
#
|
200
214
|
# level - The severity of the message to be logged.
|
201
215
|
# msg - The message to be logged
|
202
216
|
# error - Either an Exception object or nil. This parameter is used
|
@@ -241,6 +255,7 @@ class Logrb
|
|
241
255
|
end
|
242
256
|
|
243
257
|
# Internal: Logs a JSON entry to the current output.
|
258
|
+
#
|
244
259
|
# level - The severity of the message to be logged.
|
245
260
|
# msg - The message to be logged
|
246
261
|
# error - Either an Exception object or nil. This parameter is used
|
@@ -258,7 +273,10 @@ class Logrb
|
|
258
273
|
ts: Time.now.utc.to_i
|
259
274
|
}
|
260
275
|
|
261
|
-
|
276
|
+
if level == :error
|
277
|
+
data[:exception] = error.message if error.respond_to?(:message)
|
278
|
+
data[:stacktrace] = backtrace(error)
|
279
|
+
end
|
262
280
|
|
263
281
|
data.merge!(fields)
|
264
282
|
write_output("#{data.to_json}\n")
|
data/logrb.gemspec
CHANGED
@@ -5,7 +5,7 @@ require_relative "lib/logrb/version"
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "logrb"
|
7
7
|
spec.version = Logrb::VERSION
|
8
|
-
spec.authors = ["
|
8
|
+
spec.authors = ["Vito Sartori"]
|
9
9
|
spec.email = ["hey@vito.io"]
|
10
10
|
|
11
11
|
spec.summary = "Small logger inspired by Go's Zap"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Vito Sartori
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hexdump
|
@@ -68,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
requirements: []
|
71
|
-
rubygems_version: 3.
|
71
|
+
rubygems_version: 3.4.10
|
72
72
|
signing_key:
|
73
73
|
specification_version: 4
|
74
74
|
summary: Small logger inspired by Go's Zap
|