ougai 0.7.4 → 0.8.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/.travis.yml +2 -0
- data/README.md +52 -5
- data/lib/ougai/logger.rb +42 -11
- data/lib/ougai/version.rb +1 -1
- 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: 234c84c3f7a6eaf7d2dd0ab32c55d4ffa8afda98
|
4
|
+
data.tar.gz: 98776af529bf24129daa4826d19d490946fea410
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 370dfb4b6d00241c264f29832347ec9184ce453f2287cc62392cbd8338d0110e0676da2b42ae48fe4c97e1a0f4ed8ee4433b13eb056e566354d41b9766e71925
|
7
|
+
data.tar.gz: 637d1b0e58e79d4531b2981728cd8f4109f64b7a8e28ee188fa34f31b11f51e3d86e7abbff3c66d38900752801addde63a0b3f0d07891bfaf9c9befe1d8c43f7
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -144,6 +144,28 @@ end
|
|
144
144
|
{"name":"main","hostname":"mint","pid":14607,"level":50,"time":"2016-10-16T22:26:48.836+09:00","v":0,"msg":"Caught error","err":{"name":"ZeroDivisionError","message":"divided by 0","stack":"main.rb:18:in `/'\n ...'"},"reason":"zero spec"}
|
145
145
|
```
|
146
146
|
|
147
|
+
### logs with blocks
|
148
|
+
|
149
|
+
```ruby
|
150
|
+
logger.info { 'Hello!' }
|
151
|
+
|
152
|
+
logger.debug do
|
153
|
+
['User dump', { name: 'Taro', age: 15 }]
|
154
|
+
end
|
155
|
+
|
156
|
+
logger.error do
|
157
|
+
['Failed to fetch info', ex, { id: 10 }]
|
158
|
+
end
|
159
|
+
|
160
|
+
loggger.fatal { ex }
|
161
|
+
|
162
|
+
loggger.fatal do
|
163
|
+
['Unexpected', ex]
|
164
|
+
end
|
165
|
+
```
|
166
|
+
|
167
|
+
To specify more than one of a message, an exception and custom data, the block returns them as an array.
|
168
|
+
|
147
169
|
|
148
170
|
## View log by node-bunyan
|
149
171
|
|
@@ -197,6 +219,33 @@ logger.formatter = Ougai::Formatters::Readable.new
|
|
197
219
|
|
198
220
|
## Use on Rails
|
199
221
|
|
222
|
+
### Define a custom logger
|
223
|
+
|
224
|
+
Add following code to `lib/your_app/logger.rb`
|
225
|
+
A custom logger includes LoggerSilence because Rails logger must support `silence` feature.
|
226
|
+
|
227
|
+
```ruby
|
228
|
+
module YourApp
|
229
|
+
class Logger < Ougai::Logger
|
230
|
+
include ActiveSupport::LoggerThreadSafeLevel
|
231
|
+
include LoggerSilence
|
232
|
+
|
233
|
+
def initialize(*args)
|
234
|
+
super
|
235
|
+
after_initialize if respond_to? :after_initialize
|
236
|
+
end
|
237
|
+
|
238
|
+
def create_formatter
|
239
|
+
if Rails.env.development? || Rails.env.test?
|
240
|
+
Ougai::Formatters::Readable.new
|
241
|
+
else
|
242
|
+
Ougai::Formatters::Bunyan.new
|
243
|
+
end
|
244
|
+
end
|
245
|
+
end
|
246
|
+
end
|
247
|
+
```
|
248
|
+
|
200
249
|
### for Development
|
201
250
|
|
202
251
|
Add following code to `config/environments/development.rb`
|
@@ -205,9 +254,7 @@ Add following code to `config/environments/development.rb`
|
|
205
254
|
Rails.application.configure do
|
206
255
|
...
|
207
256
|
|
208
|
-
logger =
|
209
|
-
logger.formatter = Ougai::Formatters::Readable.new
|
210
|
-
config.logger = logger
|
257
|
+
config.logger = YourApp::Logger.new(STDOUT)
|
211
258
|
end
|
212
259
|
```
|
213
260
|
|
@@ -220,9 +267,9 @@ Rails.application.configure do
|
|
220
267
|
...
|
221
268
|
|
222
269
|
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
223
|
-
config.logger =
|
270
|
+
config.logger = YourApp::Logger.new(STDOUT)
|
224
271
|
else
|
225
|
-
config.logger =
|
272
|
+
config.logger = YourApp::Logger.new(config.paths['log'].first)
|
226
273
|
end
|
227
274
|
end
|
228
275
|
```
|
data/lib/ougai/logger.rb
CHANGED
@@ -12,24 +12,53 @@ module Ougai
|
|
12
12
|
@formatter = create_formatter
|
13
13
|
end
|
14
14
|
|
15
|
-
def debug(message, ex = nil, data = nil)
|
16
|
-
|
15
|
+
def debug(message = nil, ex = nil, data = nil, &block)
|
16
|
+
return true if level > DEBUG
|
17
|
+
if block_given?
|
18
|
+
args = yield
|
19
|
+
else
|
20
|
+
args = [message, ex, data]
|
21
|
+
end
|
22
|
+
super(to_item(args), &nil)
|
17
23
|
end
|
18
24
|
|
19
|
-
def info(message, ex = nil, data = nil)
|
20
|
-
|
25
|
+
def info(message = nil, ex = nil, data = nil)
|
26
|
+
return true if level > INFO
|
27
|
+
if block_given?
|
28
|
+
args = yield
|
29
|
+
else
|
30
|
+
args = [message, ex, data]
|
31
|
+
end
|
32
|
+
super(to_item(args), &nil)
|
21
33
|
end
|
22
34
|
|
23
|
-
def warn(message, ex = nil, data = nil)
|
24
|
-
|
35
|
+
def warn(message = nil, ex = nil, data = nil)
|
36
|
+
return true if level > WARN
|
37
|
+
if block_given?
|
38
|
+
args = yield
|
39
|
+
else
|
40
|
+
args = [message, ex, data]
|
41
|
+
end
|
42
|
+
super(to_item(args), &nil)
|
25
43
|
end
|
26
44
|
|
27
|
-
def error(message, ex = nil, data = nil)
|
28
|
-
|
45
|
+
def error(message = nil, ex = nil, data = nil)
|
46
|
+
return true if level > ERROR
|
47
|
+
if block_given?
|
48
|
+
args = yield
|
49
|
+
else
|
50
|
+
args = [message, ex, data]
|
51
|
+
end
|
52
|
+
super(to_item(args), &nil)
|
29
53
|
end
|
30
54
|
|
31
|
-
def fatal(message, ex = nil, data = nil)
|
32
|
-
|
55
|
+
def fatal(message = nil, ex = nil, data = nil)
|
56
|
+
if block_given?
|
57
|
+
args = yield
|
58
|
+
else
|
59
|
+
args = [message, ex, data]
|
60
|
+
end
|
61
|
+
super(to_item(args), &nil)
|
33
62
|
end
|
34
63
|
|
35
64
|
def self.broadcast(logger)
|
@@ -53,7 +82,9 @@ module Ougai
|
|
53
82
|
|
54
83
|
private
|
55
84
|
|
56
|
-
def to_item(
|
85
|
+
def to_item(args)
|
86
|
+
msg, ex, data = args
|
87
|
+
|
57
88
|
item = {}
|
58
89
|
if ex.nil? # 1 arg
|
59
90
|
if msg.is_a?(Exception)
|
data/lib/ougai/version.rb
CHANGED
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: 0.8.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-
|
11
|
+
date: 2017-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|