betterlog 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/betterlog.gemspec +2 -2
- data/config/log.yml +2 -2
- data/lib/betterlog/log.rb +11 -12
- data/lib/betterlog/version.rb +1 -1
- data/spec/betterlog/log_spec.rb +28 -24
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 669ea0d62356d1741924aa51d8648fc8968cc32a910a9bcd96f88c90d91e494c
|
4
|
+
data.tar.gz: db1a0fb6aea128b0bff226bb912c0d66f0ba40b8955a854a1c6f02fb22e798f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a32f1c9ed9581edba4047bc14691a3a94653a553897b478361d012871ae2aa57843786642e41313c836f5fc5bf284153f5bc6bb49e734daf603d19d8cb70d37c
|
7
|
+
data.tar.gz: 56e67e0133c821f0f945328c0d3ddcacbf42503d4b0d21b2e4d454b52291bf95737c38493840828d8ceb308a6c6b1d8ca53c0b8abd17eccf3684511104692520
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.1
|
data/betterlog.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: betterlog 0.8.
|
2
|
+
# stub: betterlog 0.8.1 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "betterlog".freeze
|
6
|
-
s.version = "0.8.
|
6
|
+
s.version = "0.8.1"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
data/config/log.yml
CHANGED
@@ -21,7 +21,7 @@ development: &development
|
|
21
21
|
timestamp: {%lt%timestamp}
|
22
22
|
severity: {severity}
|
23
23
|
message: "{message}"
|
24
|
-
metric: {metric} {value}
|
24
|
+
metric: {metric} {value}
|
25
25
|
error_class: {error_class}
|
26
26
|
backtrace: {%O%backtrace}
|
27
27
|
host: {host}
|
@@ -33,7 +33,7 @@ development: &development
|
|
33
33
|
{%0.1s%severity} [{%lt%timestamp} #{%d%pid}] {%5s%severity} --
|
34
34
|
{program}: {message}
|
35
35
|
metric: >
|
36
|
-
{%ft%timestamp} {metric} {value}
|
36
|
+
{%ft%timestamp} {metric} {value}
|
37
37
|
config_files:
|
38
38
|
rails:
|
39
39
|
- log/development.log
|
data/lib/betterlog/log.rb
CHANGED
@@ -83,19 +83,18 @@ module Betterlog
|
|
83
83
|
end
|
84
84
|
|
85
85
|
# Logs a metric on severity debug, by default, this can be changed by passing
|
86
|
-
# the severity: keyword. +name+ is for example 'Donation' and
|
87
|
-
#
|
88
|
-
#
|
86
|
+
# the severity: keyword. +name+ is for example 'Donation.Confirmation' and
|
87
|
+
# +value+ can be any value, but has to be somewhat consistent in terms of
|
88
|
+
# structure with +name+ to allow for correct
|
89
89
|
# evaluation.
|
90
90
|
#
|
91
91
|
# @param name the name of the recorded metric.
|
92
|
-
# @param type of the recorded metric.
|
93
92
|
# @param value of the recorded metric.
|
94
93
|
# @param **rest additional rest is logged as well.
|
95
94
|
# @return [ Log ] this object itself.
|
96
|
-
def metric(name:,
|
95
|
+
def metric(name:, value:, **rest)
|
97
96
|
protect do
|
98
|
-
event = build_metric(name: name,
|
97
|
+
event = build_metric(name: name, value: value, **rest)
|
99
98
|
emit event
|
100
99
|
end
|
101
100
|
end
|
@@ -120,7 +119,7 @@ module Betterlog
|
|
120
119
|
raise error
|
121
120
|
ensure
|
122
121
|
protect do
|
123
|
-
event = build_metric(name: name,
|
122
|
+
event = build_metric(name: name, value: timed_duration, **rest)
|
124
123
|
emit event
|
125
124
|
end
|
126
125
|
end
|
@@ -152,16 +151,16 @@ module Betterlog
|
|
152
151
|
self
|
153
152
|
end
|
154
153
|
|
155
|
-
def build_metric(name:,
|
156
|
-
severity = rest.fetch(:severity, :
|
154
|
+
def build_metric(name:, value:, **rest)
|
155
|
+
severity = rest.fetch(:severity, :info)
|
157
156
|
rest |= {
|
158
|
-
message: "a metric #{name}
|
157
|
+
message: "a metric #{name}=#{value}",
|
159
158
|
}
|
160
159
|
Log::Event.ify(
|
161
160
|
{
|
162
|
-
name:
|
163
|
-
type: type,
|
161
|
+
name: name,
|
164
162
|
value: value,
|
163
|
+
type: 'metric'
|
165
164
|
} | rest,
|
166
165
|
severity: severity
|
167
166
|
)
|
data/lib/betterlog/version.rb
CHANGED
data/spec/betterlog/log_spec.rb
CHANGED
@@ -140,11 +140,12 @@ describe Betterlog::Log do
|
|
140
140
|
|
141
141
|
it 'can be sent after measuring times' do
|
142
142
|
expected_event = Log::Event.new(
|
143
|
-
message:
|
144
|
-
name:
|
145
|
-
type: 'duration',
|
143
|
+
message: 'a metric foo=10.0',
|
144
|
+
name: 'foo',
|
146
145
|
value: 10.0,
|
147
|
-
timestamp: "2011-11-11T10:11:21.000Z"
|
146
|
+
timestamp: "2011-11-11T10:11:21.000Z",
|
147
|
+
type: 'metric',
|
148
|
+
severity: 'info'
|
148
149
|
)
|
149
150
|
expect(instance).to receive(:emit).with(expected_event)
|
150
151
|
Log.measure(name: 'foo') do
|
@@ -160,13 +161,14 @@ describe Betterlog::Log do
|
|
160
161
|
|
161
162
|
it 'adds exception information if block raises' do
|
162
163
|
expected_event = Log::Event.new(
|
163
|
-
name:
|
164
|
-
type: 'duration',
|
164
|
+
name: 'foo',
|
165
165
|
value: 3.0,
|
166
166
|
timestamp: "2011-11-11T10:11:14.000Z",
|
167
167
|
message: '"MyEx: we were fucked" while measuring metric foo',
|
168
168
|
error_class: 'MyEx',
|
169
|
-
backtrace: %w[ backtrace ]
|
169
|
+
backtrace: %w[ backtrace ],
|
170
|
+
type: 'metric',
|
171
|
+
severity: 'info'
|
170
172
|
)
|
171
173
|
expect(instance).to receive(:emit).with(expected_event)
|
172
174
|
raised = false
|
@@ -184,39 +186,41 @@ describe Betterlog::Log do
|
|
184
186
|
end
|
185
187
|
|
186
188
|
describe '#metric' do
|
187
|
-
it 'logs metrics with a specific structure on
|
189
|
+
it 'logs metrics with a specific structure on info log level' do
|
188
190
|
expected_event = Log::Event.new(
|
189
|
-
message:
|
190
|
-
name:
|
191
|
-
|
192
|
-
|
191
|
+
message: 'a metric controller.action=0.123',
|
192
|
+
name: 'controller.action',
|
193
|
+
value: 0.123,
|
194
|
+
type: 'metric',
|
195
|
+
severity: 'info'
|
193
196
|
)
|
194
197
|
expect(instance).to receive(:emit).with(expected_event)
|
195
|
-
Log.metric(name: 'controller.action',
|
198
|
+
Log.metric(name: 'controller.action', value: 0.123)
|
196
199
|
end
|
197
200
|
|
198
201
|
it 'logs metrics on a given log level' do
|
199
202
|
expected_event = Log::Event.new(
|
200
|
-
message:
|
201
|
-
name:
|
202
|
-
|
203
|
-
|
203
|
+
message: 'a metric controller.action=0.123',
|
204
|
+
name: 'controller.action',
|
205
|
+
value: 0.123,
|
206
|
+
type: 'metric',
|
204
207
|
severity: :info,
|
205
208
|
)
|
206
209
|
expect(instance).to receive(:emit).with(expected_event)
|
207
|
-
Log.metric(severity: :info, name: 'controller.action',
|
210
|
+
Log.metric(severity: :info, name: 'controller.action', value: 0.123)
|
208
211
|
end
|
209
212
|
|
210
213
|
it 'logs metrics with additional data' do
|
211
214
|
expected_event = Log::Event.new(
|
212
|
-
message:
|
213
|
-
foo:
|
214
|
-
name:
|
215
|
-
|
216
|
-
|
215
|
+
message: 'a metric controller.action=0.123',
|
216
|
+
foo: 'bar',
|
217
|
+
name: 'controller.action',
|
218
|
+
value: 0.123,
|
219
|
+
type: 'metric',
|
220
|
+
severity: 'info'
|
217
221
|
)
|
218
222
|
expect(instance).to receive(:emit).with(expected_event)
|
219
|
-
Log.metric(name: 'controller.action',
|
223
|
+
Log.metric(name: 'controller.action', value: 0.123, foo: 'bar')
|
220
224
|
end
|
221
225
|
end
|
222
226
|
end
|