ougai 1.5.6 → 1.5.7
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 +1 -0
- data/lib/ougai/formatters/base.rb +9 -2
- data/lib/ougai/formatters/readable.rb +6 -1
- data/lib/ougai/version.rb +1 -1
- data/spec/formatters/base_spec.rb +31 -0
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ceb8c682480975c5a3f5ab0da5f8336ad340d2f7
|
4
|
+
data.tar.gz: a23137a6d8297fb787a6b0c9b3ec50c2630d04d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41fd722562d4e09300b5048b7c74f540e4d54486f83e95fd722c16eb78e20334e3976e5441c63ae3d93c46508d5db81bcf06b867734b1d0b8cd6e4046e28d127
|
7
|
+
data.tar.gz: eedadc34fdae3207aceb6fb1aea85e3458e5d1fae44cb09da2117e8092289dcd89ab786ba0654c8bf0d5b607b08186ac21ce11b77e1dfb72f7d8d7ee1b78598f
|
data/README.md
CHANGED
@@ -351,6 +351,7 @@ logger.formatter = Ougai::Formatters::Readable.new
|
|
351
351
|
- [Forward logs to Logentries](https://github.com/tilfin/ougai/wiki/Forward-logs-to-Logentries)
|
352
352
|
- [Use as ServerEngine logger](https://github.com/tilfin/ougai/wiki/Use-as-ServerEngine-logger)
|
353
353
|
- [Forward logs to Loggly](https://github.com/tilfin/ougai/wiki/Forward-logs-to-Loggly)
|
354
|
+
- [Use as Rack logger](https://github.com/tilfin/ougai/wiki/Use-as-Rack-logger)
|
354
355
|
|
355
356
|
## License
|
356
357
|
|
@@ -3,8 +3,13 @@ require 'socket'
|
|
3
3
|
|
4
4
|
module Ougai
|
5
5
|
module Formatters
|
6
|
+
# Base formatter
|
7
|
+
# @attr [Fixnum] trace_indent Specify exception backtrace indent (by default this is 2).
|
8
|
+
# @attr [Fixnum] trace_max_lines Keep exception backtrace lines (by default this is 100).
|
9
|
+
# @attr [Boolean] serialize_backtrace Whether exception should converts String (by default this is on).
|
6
10
|
class Base < Logger::Formatter
|
7
11
|
attr_accessor :trace_indent, :trace_max_lines
|
12
|
+
attr_accessor :serialize_backtrace
|
8
13
|
attr_reader :app_name, :hostname
|
9
14
|
|
10
15
|
def initialize(app_name = nil, hostname = nil)
|
@@ -12,6 +17,7 @@ module Ougai
|
|
12
17
|
@hostname = hostname || Socket.gethostname.force_encoding('UTF-8')
|
13
18
|
@trace_indent = 2
|
14
19
|
@trace_max_lines = 100
|
20
|
+
@serialize_backtrace = true
|
15
21
|
self.datetime_format = nil
|
16
22
|
end
|
17
23
|
|
@@ -25,14 +31,15 @@ module Ougai
|
|
25
31
|
message: ex.to_s
|
26
32
|
}
|
27
33
|
if ex.backtrace
|
28
|
-
|
34
|
+
bt = ex.backtrace.slice(0, @trace_max_lines)
|
35
|
+
err[:stack] = @serialize_backtrace ? serialize_trace(bt) : bt
|
29
36
|
end
|
30
37
|
err
|
31
38
|
end
|
32
39
|
|
33
40
|
def serialize_trace(trace)
|
34
41
|
sp = "\n" + ' ' * @trace_indent
|
35
|
-
trace.
|
42
|
+
trace.join(sp)
|
36
43
|
end
|
37
44
|
|
38
45
|
private
|
@@ -14,6 +14,7 @@ module Ougai
|
|
14
14
|
@trace_indent = opts[:trace_indent] || 4
|
15
15
|
@plain = opts[:plain] || false
|
16
16
|
@excluded_fields = opts[:excluded_fields] || []
|
17
|
+
@serialize_backtrace = true
|
17
18
|
load_dependent
|
18
19
|
end
|
19
20
|
|
@@ -28,6 +29,10 @@ module Ougai
|
|
28
29
|
format_log_parts(dt, level, msg, err_str, data_str)
|
29
30
|
end
|
30
31
|
|
32
|
+
def serialize_backtrace=(value)
|
33
|
+
raise RuntimeError, 'Not support serialize_backtrace'
|
34
|
+
end
|
35
|
+
|
31
36
|
protected
|
32
37
|
|
33
38
|
def format_log_parts(datetime, level, msg, err, data)
|
@@ -61,7 +66,7 @@ module Ougai
|
|
61
66
|
return nil unless data.key?(:err)
|
62
67
|
err = data.delete(:err)
|
63
68
|
err_str = " #{err[:name]} (#{err[:message]}):"
|
64
|
-
err_str += "\n
|
69
|
+
err_str += "\n" + (" " * @trace_indent) + err[:stack] if err.key?(:stack)
|
65
70
|
err_str
|
66
71
|
end
|
67
72
|
|
data/lib/ougai/version.rb
CHANGED
@@ -64,4 +64,35 @@ describe Ougai::Formatters::Base do
|
|
64
64
|
expect(subject.hostname).to eq('myhost')
|
65
65
|
end
|
66
66
|
end
|
67
|
+
|
68
|
+
describe '#serialize_exc' do
|
69
|
+
let (:app_name) { 'myapp' }
|
70
|
+
let (:hostname) { 'myhost' }
|
71
|
+
let (:errmsg) { 'dummy error' }
|
72
|
+
|
73
|
+
it 'returning data with stack as String' do
|
74
|
+
begin
|
75
|
+
raise errmsg
|
76
|
+
rescue => e
|
77
|
+
result = subject.serialize_exc(e)
|
78
|
+
end
|
79
|
+
expect(result[:message]).to eq(errmsg)
|
80
|
+
expect(result[:stack]).to be_instance_of(String)
|
81
|
+
end
|
82
|
+
|
83
|
+
context 'not serialize backtrace' do
|
84
|
+
it 'returning data with stack as Array' do
|
85
|
+
subject.serialize_backtrace = false
|
86
|
+
subject.trace_max_lines = 6
|
87
|
+
begin
|
88
|
+
raise errmsg
|
89
|
+
rescue => e
|
90
|
+
result = subject.serialize_exc(e)
|
91
|
+
end
|
92
|
+
expect(result[:message]).to eq(errmsg)
|
93
|
+
expect(result[:stack]).to be_instance_of(Array)
|
94
|
+
expect(result[:stack].size).to eq(6)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
67
98
|
end
|
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: 1.5.
|
4
|
+
version: 1.5.7
|
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-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -103,17 +103,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
requirements: []
|
105
105
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.6.
|
106
|
+
rubygems_version: 2.6.13
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: JSON logger compatible with node-bunyan is capable of handling structured
|
110
110
|
data easily.
|
111
111
|
test_files:
|
112
|
-
- spec/child_logger_spec.rb
|
113
112
|
- spec/formatters/base_spec.rb
|
114
113
|
- spec/formatters/bunyan_spec.rb
|
115
114
|
- spec/formatters/readable_spec.rb
|
116
|
-
- spec/
|
115
|
+
- spec/child_logger_spec.rb
|
117
116
|
- spec/logging_spec.rb
|
117
|
+
- spec/logger_spec.rb
|
118
118
|
- spec/ougai_spec.rb
|
119
119
|
- spec/spec_helper.rb
|