ougai 0.9.0 → 1.0.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/README.md +16 -0
- data/lib/ougai/logger.rb +12 -7
- data/lib/ougai/version.rb +1 -1
- data/spec/logger_spec.rb +25 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d30c9475aab949b8119bbb1bb5b921b82cab591f
|
4
|
+
data.tar.gz: 1a60805fd8a9602104c4f45180b54f1db48c5a81
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abb0ce860369b3ff1bf6f3f853e965dae781fd73cf341c954f2fd5f1d9316027850fe6c29eb339cf3b4d9e4abc870af1f39e27a9eb11845ac3532905ab89ed25
|
7
|
+
data.tar.gz: 31bd2e3c9795548c6b47c4a874b0dee68fd98242037040601fc81f8806c2cdff5b3b005cbb708e83ddbe72c168551b67ad437f1dafa855d2f5db63b00942c502
|
data/README.md
CHANGED
@@ -168,6 +168,22 @@ end
|
|
168
168
|
|
169
169
|
To specify more than one of a message, an exception and custom data, the block returns them as an array.
|
170
170
|
|
171
|
+
### Adding custom fields to all logs
|
172
|
+
|
173
|
+
The fields of `with_fields` add to all logs as is.
|
174
|
+
|
175
|
+
```ruby
|
176
|
+
logger.with_fields = { version: '1.1.0' }
|
177
|
+
logger.debug(user: { name: 'Taro', age: 19 })
|
178
|
+
logger.info('Hello!', user: { name: 'Jiro' }, version: '2.3')
|
179
|
+
```
|
180
|
+
|
181
|
+
```json
|
182
|
+
{"name":"test","hostname":"mint","pid":30182,"level":20,"time":"2017-07-22T20:52:12.332+09:00","v":0,"version":"1.1.0","msg":"No message","user":{"name":"Taro","age":19}}
|
183
|
+
{"name":"test","hostname":"mint","pid":30308,"level":30,"time":"2017-07-22T20:53:54.314+09:00","v":0,"version":"2.3","user":{"name":"Jiro"},"msg":"Hello!"}
|
184
|
+
```
|
185
|
+
|
186
|
+
If any field of with_fields is specified in each log, the field is overridden.
|
171
187
|
|
172
188
|
## View log by node-bunyan
|
173
189
|
|
data/lib/ougai/logger.rb
CHANGED
@@ -3,48 +3,49 @@ require 'logger'
|
|
3
3
|
|
4
4
|
module Ougai
|
5
5
|
class Logger < ::Logger
|
6
|
-
attr_accessor :default_message, :exc_key
|
6
|
+
attr_accessor :default_message, :exc_key, :with_fields
|
7
7
|
|
8
8
|
def initialize(*args)
|
9
9
|
super(*args)
|
10
10
|
@default_message = 'No message'
|
11
11
|
@exc_key = :err
|
12
12
|
@formatter = create_formatter
|
13
|
+
@with_fields = {}
|
13
14
|
end
|
14
15
|
|
15
16
|
def debug(message = nil, ex = nil, data = nil, &block)
|
16
17
|
return true if level > DEBUG
|
17
18
|
args = block ? yield : [message, ex, data]
|
18
|
-
add(DEBUG,
|
19
|
+
add(DEBUG, build_log(args))
|
19
20
|
end
|
20
21
|
|
21
22
|
def info(message = nil, ex = nil, data = nil, &block)
|
22
23
|
return true if level > INFO
|
23
24
|
args = block ? yield : [message, ex, data]
|
24
|
-
add(INFO,
|
25
|
+
add(INFO, build_log(args))
|
25
26
|
end
|
26
27
|
|
27
28
|
def warn(message = nil, ex = nil, data = nil, &block)
|
28
29
|
return true if level > WARN
|
29
30
|
args = block ? yield : [message, ex, data]
|
30
|
-
add(WARN,
|
31
|
+
add(WARN, build_log(args))
|
31
32
|
end
|
32
33
|
|
33
34
|
def error(message = nil, ex = nil, data = nil, &block)
|
34
35
|
return true if level > ERROR
|
35
36
|
args = block ? yield : [message, ex, data]
|
36
|
-
add(ERROR,
|
37
|
+
add(ERROR, build_log(args))
|
37
38
|
end
|
38
39
|
|
39
40
|
def fatal(message = nil, ex = nil, data = nil, &block)
|
40
41
|
return true if level > FATAL
|
41
42
|
args = block ? yield : [message, ex, data]
|
42
|
-
add(FATAL,
|
43
|
+
add(FATAL, build_log(args))
|
43
44
|
end
|
44
45
|
|
45
46
|
def unknown(message = nil, ex = nil, data = nil, &block)
|
46
47
|
args = block ? yield : [message, ex, data]
|
47
|
-
add(UNKNOWN,
|
48
|
+
add(UNKNOWN, build_log(args))
|
48
49
|
end
|
49
50
|
|
50
51
|
def self.broadcast(logger)
|
@@ -68,6 +69,10 @@ module Ougai
|
|
68
69
|
|
69
70
|
private
|
70
71
|
|
72
|
+
def build_log(args)
|
73
|
+
@with_fields.merge(to_item(args))
|
74
|
+
end
|
75
|
+
|
71
76
|
def to_item(args)
|
72
77
|
msg, ex, data = args
|
73
78
|
|
data/lib/ougai/version.rb
CHANGED
data/spec/logger_spec.rb
CHANGED
@@ -96,6 +96,20 @@ describe Ougai::Logger do
|
|
96
96
|
expect(item).to be_log_message(log_msg, log_level)
|
97
97
|
expect(item).to include_data(data_id: 108, action: 'dump')
|
98
98
|
end
|
99
|
+
|
100
|
+
it 'outputs valid with fields' do
|
101
|
+
logger.with_fields = { coreField1: 123, core_field2: 'core', 'core_field3' => 456 }
|
102
|
+
logger.send(method, { msg: log_msg, data_id: 109, action: 'do' })
|
103
|
+
expect(item).to be_log_message(log_msg, log_level)
|
104
|
+
expect(item).to include_data(data_id: 109, action: 'do', coreField1: 123, core_field2: 'core', core_field3: 456)
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'outputs valid with fields overridden' do
|
108
|
+
logger.with_fields = { core_field1: 'original', core_field2: 'original', err: 'original' }
|
109
|
+
logger.send(method, { msg: log_msg, data_id: 110, action: 'do', core_field1: 'override' })
|
110
|
+
expect(item).to be_log_message(log_msg, log_level)
|
111
|
+
expect(item).to include_data(data_id: 110, action: 'do', core_field1: 'override', core_field2: 'original', err: 'original')
|
112
|
+
end
|
99
113
|
end
|
100
114
|
|
101
115
|
context 'with data that does not contain msg' do
|
@@ -150,6 +164,17 @@ describe Ougai::Logger do
|
|
150
164
|
expect(item).to be_log_message(log_msg, log_level)
|
151
165
|
expect(item).to include_error('errmsg')
|
152
166
|
end
|
167
|
+
|
168
|
+
it 'outputs valid overridden err field' do
|
169
|
+
logger.with_fields = { err: 'original' }
|
170
|
+
begin
|
171
|
+
raise StandardError, 'errmsg2'
|
172
|
+
rescue => ex
|
173
|
+
logger.send(method, log_msg, ex)
|
174
|
+
end
|
175
|
+
|
176
|
+
expect(item).to include_error('errmsg2')
|
177
|
+
end
|
153
178
|
end
|
154
179
|
|
155
180
|
context 'with exception and data' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ougai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toshimitsu Takahashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|