ree_lib 1.0.4 → 1.0.5
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/Gemfile.lock +3 -1
- data/lib/ree_lib/packages/ree_logger/Package.schema.json +3 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/appenders/rollbar_appender.rb +78 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/beans/logger.rb +14 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/config.rb +10 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger/multi_logger.rb +8 -0
- data/lib/ree_lib/packages/ree_logger/package/ree_logger.rb +1 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/rollbar_appender_spec.rb +33 -0
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/beans/logger_spec.rb +14 -3
- data/lib/ree_lib/packages/ree_logger/spec/ree_logger/multi_logger_spec.rb +32 -8
- data/lib/ree_lib/packages/ree_logger/spec/spec_helper.rb +5 -1
- data/lib/ree_lib/packages/ree_migrator/spec/spec_helper.rb +2 -1
- data/lib/ree_lib/version.rb +1 -1
- metadata +17 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9481a0ea7f7bebebf1386a48fb558859ff18c761ebece7f56b0e43e279fd1945
|
4
|
+
data.tar.gz: 98aa337a94ab47d178e45f54f94b15027c0d6a71c164df5d0450874fe8e876d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b5b129cb9045109d08a53a938d446eb6210ea23f63f9656abd77d0c1344fb2c7297c51a5983e1ebb61d9829977f40facc83ae6e4f8c8e7f9845e869292c25be
|
7
|
+
data.tar.gz: b1e945345d629c4fe23283660d0328a186308559f2b3c4c6fd2e2ed2cadcf6d300f8c9946e947b51010902a732547dbe408e2248075030466d0a9387871d3f08
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ree_lib (1.0.
|
4
|
+
ree_lib (1.0.5)
|
5
5
|
binding_of_caller (~> 1.0.0)
|
6
6
|
i18n (~> 1.12.0)
|
7
7
|
loofah (~> 2.18.0)
|
@@ -49,6 +49,7 @@ GEM
|
|
49
49
|
ree (1.0.2)
|
50
50
|
commander (~> 4.6.0)
|
51
51
|
rexml (3.2.5)
|
52
|
+
rollbar (3.3.1)
|
52
53
|
rspec (3.11.0)
|
53
54
|
rspec-core (~> 3.11.0)
|
54
55
|
rspec-expectations (~> 3.11.0)
|
@@ -82,6 +83,7 @@ DEPENDENCIES
|
|
82
83
|
pg (~> 1.4.1)
|
83
84
|
rake (~> 13.0)
|
84
85
|
ree_lib!
|
86
|
+
rollbar (~> 3.3.1)
|
85
87
|
rspec
|
86
88
|
sqlite3 (~> 1.4.4)
|
87
89
|
timecop (~> 0.9.5)
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'appender'
|
4
|
+
require 'rollbar'
|
5
|
+
require 'digest'
|
6
|
+
|
7
|
+
class ReeLogger::RollbarAppender < ReeLogger::Appender
|
8
|
+
include Ree::LinkDSL
|
9
|
+
|
10
|
+
link 'ree_logger/log_event', -> { LogEvent }
|
11
|
+
|
12
|
+
contract(
|
13
|
+
Symbol,
|
14
|
+
Kwargs[
|
15
|
+
access_token: String,
|
16
|
+
environment: String,
|
17
|
+
],
|
18
|
+
Ksplat[
|
19
|
+
branch?: Nilor[String],
|
20
|
+
host?: Nilor[String],
|
21
|
+
] => Any
|
22
|
+
)
|
23
|
+
def initialize(level, access_token:, environment:, **opts)
|
24
|
+
super(level, nil)
|
25
|
+
|
26
|
+
Rollbar.configure do |config|
|
27
|
+
config.enabled = true
|
28
|
+
config.access_token = access_token
|
29
|
+
config.environment = environment
|
30
|
+
config.branch = opts[:branch] if opts[:branch]
|
31
|
+
config.host = opts[:host] if opts[:host]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
contract(LogEvent, Nilor[String] => nil)
|
36
|
+
def append(event, progname = nil)
|
37
|
+
rollbar_level =
|
38
|
+
case event.level
|
39
|
+
when :fatal
|
40
|
+
'critical'
|
41
|
+
when :unknown
|
42
|
+
'critical'
|
43
|
+
else
|
44
|
+
event.level.to_s
|
45
|
+
end
|
46
|
+
|
47
|
+
fingerprint = event.message.to_s
|
48
|
+
|
49
|
+
if event.exception
|
50
|
+
fingerprint += event.exception.class.to_s
|
51
|
+
end
|
52
|
+
|
53
|
+
scope = {}
|
54
|
+
parameters = event.parameters.dup
|
55
|
+
|
56
|
+
if parameters.key?(:rollbar_scope) && parameters[:rollbar_scope].is_a?(Hash)
|
57
|
+
scope = scope.merge(
|
58
|
+
parameters.delete(:rollbar_scope)
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
if !scope[:fingerprint]
|
63
|
+
fingerprint = event.message.to_s
|
64
|
+
|
65
|
+
if event.exception
|
66
|
+
fingerprint += event.exception.class.to_s
|
67
|
+
end
|
68
|
+
|
69
|
+
scope[:fingerprint] = Digest::MD5.new.update(fingerprint).to_s
|
70
|
+
end
|
71
|
+
|
72
|
+
Rollbar.scoped(scope) do
|
73
|
+
Rollbar.log(rollbar_level, event.message, event.exception, parameters)
|
74
|
+
end
|
75
|
+
|
76
|
+
nil
|
77
|
+
end
|
78
|
+
end
|
@@ -14,6 +14,7 @@ class ReeLogger::Logger
|
|
14
14
|
link 'ree_logger/rate_limiter', -> { RateLimiter }
|
15
15
|
link 'ree_logger/appenders/file_appender', -> { FileAppender }
|
16
16
|
link 'ree_logger/appenders/stdout_appender', -> { StdoutAppender }
|
17
|
+
link 'ree_logger/appenders/rollbar_appender', -> { RollbarAppender }
|
17
18
|
end
|
18
19
|
|
19
20
|
def build
|
@@ -35,6 +36,19 @@ class ReeLogger::Logger
|
|
35
36
|
)
|
36
37
|
end
|
37
38
|
|
39
|
+
if config.rollbar.enabled
|
40
|
+
opts = {}
|
41
|
+
opts[:branch] = config.rollbar.branch if config.rollbar.branch
|
42
|
+
opts[:host] = config.rollbar.host if config.rollbar.host
|
43
|
+
|
44
|
+
appenders << RollbarAppender.new(
|
45
|
+
config.levels.rollbar,
|
46
|
+
access_token: config.rollbar.access_token,
|
47
|
+
environment: config.rollbar.environment,
|
48
|
+
**opts
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
38
52
|
build_logger(
|
39
53
|
appenders,
|
40
54
|
ENV['APP_NAME'],
|
@@ -17,12 +17,22 @@ class ReeLogger::Config
|
|
17
17
|
RATE_LIMIT_MAX_COUNT = 600
|
18
18
|
|
19
19
|
def build
|
20
|
+
is_rollbar_enabled = parse_bool_string(ENV['LOG_ROLLBAR_ENABLED'])
|
21
|
+
|
20
22
|
to_obj({
|
21
23
|
file_path: ENV['LOG_FILE_PATH'],
|
22
24
|
file_auto_flush: parse_bool_string(ENV['LOG_FILE_AUTO_FLUSH']),
|
23
25
|
levels: {
|
24
26
|
file: parse_level(ENV['LOG_LEVEL_FILE']),
|
25
27
|
stdout: parse_level(ENV['LOG_LEVEL_STDOUT']),
|
28
|
+
rollbar: is_rollbar_enabled ? parse_level(ENV['LOG_LEVEL_ROLLBAR']) : nil,
|
29
|
+
},
|
30
|
+
rollbar: {
|
31
|
+
enabled: is_rollbar_enabled,
|
32
|
+
access_token: is_rollbar_enabled ? ENV.fetch('LOG_ROLLBAR_ACCESS_TOKEN') : nil,
|
33
|
+
environment: is_rollbar_enabled ? ENV.fetch('LOG_ROLLBAR_ENVIRONMENT') : nil,
|
34
|
+
branch: ENV['LOG_ROLLBAR_BRANCH'],
|
35
|
+
host: ENV['LOG_ROLLBAR_HOST']
|
26
36
|
},
|
27
37
|
rate_limit: {
|
28
38
|
interval: get_int_value('LOG_RATE_LIMIT_INTERVAL', RATE_LIMIT_INTERVAL),
|
@@ -134,6 +134,14 @@ class ReeLogger::MultiLogger < Logger
|
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
137
|
+
parameters = transform_values(parameters) do |k, v|
|
138
|
+
if @filter_words.any? { k.to_s.include?(_1) }
|
139
|
+
'FILTERED'
|
140
|
+
else
|
141
|
+
v
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
137
145
|
event = LogEvent.new(level, message, exception, parameters)
|
138
146
|
|
139
147
|
appenders.each do |appender|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#frozen_string_literal = true
|
2
|
+
|
3
|
+
package_require('ree_logger/appenders/rollbar_appender')
|
4
|
+
|
5
|
+
RSpec.describe ReeLogger::RollbarAppender do
|
6
|
+
let(:rollbar_appender) { described_class }
|
7
|
+
|
8
|
+
let(:log_event) {
|
9
|
+
ReeLogger::LogEvent.new(
|
10
|
+
:info,
|
11
|
+
"Some message",
|
12
|
+
nil,
|
13
|
+
{}
|
14
|
+
)
|
15
|
+
}
|
16
|
+
|
17
|
+
# comment "before" block to test sending to api
|
18
|
+
before do
|
19
|
+
allow(Rollbar).to receive(:log)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "sends log event to Rollbar" do
|
23
|
+
appender = rollbar_appender.new(
|
24
|
+
:info,
|
25
|
+
access_token: ENV['LOG_ROLLBAR_ACCESS_TOKEN'],
|
26
|
+
environment: ENV['LOG_ROLLBAR_ENVIRONMENT']
|
27
|
+
)
|
28
|
+
|
29
|
+
expect(appender).to respond_to(:append)
|
30
|
+
expect { appender.append(log_event) }.not_to raise_error
|
31
|
+
expect(Rollbar).to have_received(:log)
|
32
|
+
end
|
33
|
+
end
|
@@ -8,12 +8,16 @@ RSpec.describe :logger do
|
|
8
8
|
|
9
9
|
before(:all) do
|
10
10
|
tmp_file_log = ENV['LOG_FILE_PATH']
|
11
|
-
|
11
|
+
|
12
12
|
if !is_blank(tmp_file_log)
|
13
13
|
File.open(tmp_file_log, 'w') {|file| file.truncate(0) }
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
before(:each) do
|
18
|
+
allow(Rollbar).to receive(:log)
|
19
|
+
end
|
20
|
+
|
17
21
|
let(:log_file_path) { ENV['LOG_FILE_PATH'] }
|
18
22
|
|
19
23
|
let(:exception) {
|
@@ -22,21 +26,25 @@ RSpec.describe :logger do
|
|
22
26
|
|
23
27
|
it {
|
24
28
|
expect { logger.info('hello world') }.to output(/hello world/).to_stdout
|
29
|
+
expect(Rollbar).to have_received(:log)
|
25
30
|
expect(File.read(log_file_path)).to match("hello world")
|
26
31
|
}
|
27
32
|
|
28
33
|
it {
|
29
|
-
expect { logger.info('hello world', { param: 1, another_param: { name: 'John'} }) }.to output(/John/).to_stdout
|
34
|
+
expect { logger.info('hello world', { rollbar_scope: {fingerprint: 'test', test: 'test'}, param: 1, another_param: { name: 'John'} }) }.to output(/John/).to_stdout
|
35
|
+
expect(Rollbar).to have_received(:log)
|
30
36
|
expect(File.read(log_file_path)).to match("John")
|
31
37
|
}
|
32
|
-
|
38
|
+
|
33
39
|
it {
|
34
40
|
expect { logger.debug('debug message') }.to_not output(/debug message/).to_stdout
|
41
|
+
expect(Rollbar).not_to have_received(:log)
|
35
42
|
expect(File.read(log_file_path)).to_not match("debug")
|
36
43
|
}
|
37
44
|
|
38
45
|
it {
|
39
46
|
expect { logger.warn('warning message') }.to output(/warning message/).to_stdout
|
47
|
+
expect(Rollbar).to have_received(:log)
|
40
48
|
expect(File.read(log_file_path)).to match("warning message")
|
41
49
|
}
|
42
50
|
|
@@ -46,17 +54,20 @@ RSpec.describe :logger do
|
|
46
54
|
}
|
47
55
|
expect(output).to match(/some error message/)
|
48
56
|
expect(output).to_not match(/method|args/)
|
57
|
+
expect(Rollbar).to have_received(:log)
|
49
58
|
expect(File.read(log_file_path)).to match("some error message")
|
50
59
|
expect(File.read(log_file_path)).to_not match("PARAMETERS: {:method=>{:name=>:call, :args=>{:block=>{}}}}")
|
51
60
|
}
|
52
61
|
|
53
62
|
it {
|
54
63
|
expect { logger.fatal('some fatal message', {}, exception) }.to output(/some fatal message/).to_stdout
|
64
|
+
expect(Rollbar).to have_received(:log)
|
55
65
|
expect(File.read(log_file_path)).to match("some fatal message")
|
56
66
|
}
|
57
67
|
|
58
68
|
it {
|
59
69
|
expect { logger.unknown('unknown message') }.to output(/unknown message/).to_stdout
|
70
|
+
expect(Rollbar).to have_received(:log)
|
60
71
|
expect(File.read(log_file_path)).to match("unknown message")
|
61
72
|
}
|
62
73
|
end
|
@@ -1,15 +1,17 @@
|
|
1
1
|
#frozen_string_literal = true
|
2
2
|
|
3
|
+
require 'rollbar'
|
3
4
|
package_require('ree_logger/multi_logger')
|
4
5
|
package_require('ree_logger/appenders/stdout_appender')
|
5
6
|
package_require('ree_logger/appenders/file_appender')
|
7
|
+
package_require('ree_logger/appenders/rollbar_appender')
|
6
8
|
|
7
9
|
RSpec.describe ReeLogger::MultiLogger do
|
8
10
|
link :is_blank, from: :ree_object
|
9
11
|
|
10
12
|
before(:all) do
|
11
13
|
tmp_file_log = ENV['LOG_FILE_PATH']
|
12
|
-
|
14
|
+
|
13
15
|
if !is_blank(tmp_file_log)
|
14
16
|
File.open(tmp_file_log, 'w') {|file| file.truncate(0) }
|
15
17
|
end
|
@@ -37,6 +39,14 @@ RSpec.describe ReeLogger::MultiLogger do
|
|
37
39
|
)
|
38
40
|
}
|
39
41
|
|
42
|
+
let(:rollbar_appender) {
|
43
|
+
ReeLogger::RollbarAppender.new(
|
44
|
+
:info,
|
45
|
+
access_token: ENV['LOG_ROLLBAR_ACCESS_TOKEN'],
|
46
|
+
environment: ENV['LOG_ROLLBAR_ENVIRONMENT']
|
47
|
+
)
|
48
|
+
}
|
49
|
+
|
40
50
|
let(:logger) {
|
41
51
|
multi_logger.new(
|
42
52
|
'SomeCoolApp',
|
@@ -46,37 +56,47 @@ RSpec.describe ReeLogger::MultiLogger do
|
|
46
56
|
}
|
47
57
|
|
48
58
|
let(:logger_with_appenders) {
|
49
|
-
[file_appender, stdout_appender].map { logger.add_appender(_1) }
|
59
|
+
[file_appender, stdout_appender, rollbar_appender].map { logger.add_appender(_1) }
|
50
60
|
|
51
61
|
logger
|
52
62
|
}
|
53
63
|
|
64
|
+
before(:each) do
|
65
|
+
allow(Rollbar).to receive(:log)
|
66
|
+
end
|
67
|
+
|
54
68
|
it {
|
55
69
|
expect { logger.add_appender(stdout_appender) }.to change { logger.appenders }
|
56
70
|
}
|
57
71
|
|
58
72
|
it {
|
59
73
|
expect { logger.info('any message') }.to_not output(/any message/).to_stdout
|
60
|
-
expect(
|
74
|
+
expect(Rollbar).not_to have_received(:log)
|
75
|
+
expect(File.read(log_file_path)).to_not match('any message')
|
61
76
|
}
|
62
77
|
|
63
78
|
it {
|
64
79
|
expect { logger_with_appenders.info('hello world') }.to output(/hello world/).to_stdout
|
65
|
-
expect(
|
80
|
+
expect(Rollbar).to have_received(:log)
|
81
|
+
expect(File.read(log_file_path)).to match("hello world")
|
66
82
|
}
|
67
83
|
|
68
84
|
it {
|
69
|
-
expect { logger_with_appenders.info('hello world', { param: 1, another_param: { name: 'John'} }) }.to output(/John/).to_stdout
|
85
|
+
expect { logger_with_appenders.info('hello world', { param: 1, another_param: { name: 'John'}, password: 'password01' }) }.to output(/John/).to_stdout
|
86
|
+
expect(Rollbar).to have_received(:log)
|
70
87
|
expect(File.read(log_file_path)).to match("John")
|
88
|
+
expect(File.read(log_file_path)).to match(":password=>\"FILTERED\"")
|
71
89
|
}
|
72
|
-
|
90
|
+
|
73
91
|
it {
|
74
92
|
expect { logger_with_appenders.debug('debug message') }.to_not output(/debug message/).to_stdout
|
93
|
+
expect(Rollbar).not_to have_received(:log)
|
75
94
|
expect(File.read(log_file_path)).to_not match("debug")
|
76
95
|
}
|
77
96
|
|
78
97
|
it {
|
79
98
|
expect { logger_with_appenders.warn('warning message') }.to output(/warning message/).to_stdout
|
99
|
+
expect(Rollbar).to have_received(:log)
|
80
100
|
expect(File.read(log_file_path)).to match("warning message")
|
81
101
|
}
|
82
102
|
|
@@ -87,16 +107,20 @@ RSpec.describe ReeLogger::MultiLogger do
|
|
87
107
|
expect(output).to match(/some error message/)
|
88
108
|
expect(output).to_not match(/method|args/)
|
89
109
|
expect(File.read(log_file_path)).to match("some error message")
|
110
|
+
expect(Rollbar).to have_received(:log)
|
90
111
|
expect(File.read(log_file_path)).to_not match("PARAMETERS: {:method=>{:name=>:call, :args=>{:block=>{}}}}")
|
91
112
|
}
|
92
113
|
|
93
114
|
it {
|
94
|
-
expect { logger_with_appenders.fatal('some fatal message', {}, exception) }.to output(/some fatal message/).to_stdout
|
115
|
+
expect { logger_with_appenders.fatal('some fatal message', { email: 'some@mail.com', password: 'password01' }, exception) }.to output(/some fatal message/).to_stdout
|
116
|
+
expect(Rollbar).to have_received(:log)
|
95
117
|
expect(File.read(log_file_path)).to match("some fatal message")
|
118
|
+
expect(File.read(log_file_path)).to match(":password=>\"FILTERED\"")
|
96
119
|
}
|
97
120
|
|
98
121
|
it {
|
99
122
|
expect { logger_with_appenders.unknown('unknown message') }.to output(/unknown message/).to_stdout
|
123
|
+
expect(Rollbar).to have_received(:log)
|
100
124
|
expect(File.read(log_file_path)).to match("unknown message")
|
101
125
|
}
|
102
126
|
|
@@ -113,5 +137,5 @@ RSpec.describe ReeLogger::MultiLogger do
|
|
113
137
|
}.to_not output.to_stdout
|
114
138
|
}
|
115
139
|
|
116
|
-
|
140
|
+
|
117
141
|
end
|
@@ -15,5 +15,9 @@ ENV['LOG_FILE_PATH'] = '/tmp/ree_logger.log'
|
|
15
15
|
ENV['LOG_FILE_AUTO_FLUSH'] = 'true'
|
16
16
|
ENV['LOG_LEVEL_FILE'] = 'info'
|
17
17
|
ENV['LOG_LEVEL_STDOUT'] = 'info'
|
18
|
+
ENV['LOG_LEVEL_ROLLBAR'] = 'info'
|
18
19
|
ENV['LOG_RATE_LIMIT_INTERVAL'] = '60'
|
19
|
-
ENV['LOG_RATE_LIMIT_COUNT'] = '600'
|
20
|
+
ENV['LOG_RATE_LIMIT_COUNT'] = '600'
|
21
|
+
ENV['LOG_ROLLBAR_ACCESS_TOKEN'] = 'SET_YOUR_TOKEN'
|
22
|
+
ENV['LOG_ROLLBAR_ENABLED'] = 'true'
|
23
|
+
ENV['LOG_ROLLBAR_ENVIRONMENT'] = 'test'
|
data/lib/ree_lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ree_lib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Gatiyatov
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: 0.9.5
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rollbar
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 3.3.1
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 3.3.1
|
167
181
|
description: Ree Lib provides set of packages to extend Ruby Standard Library
|
168
182
|
email:
|
169
183
|
- ruslan.gatiyatov@gmail.com
|
@@ -869,6 +883,7 @@ files:
|
|
869
883
|
- lib/ree_lib/packages/ree_logger/package/ree_logger.rb
|
870
884
|
- lib/ree_lib/packages/ree_logger/package/ree_logger/appenders/appender.rb
|
871
885
|
- lib/ree_lib/packages/ree_logger/package/ree_logger/appenders/file_appender.rb
|
886
|
+
- lib/ree_lib/packages/ree_logger/package/ree_logger/appenders/rollbar_appender.rb
|
872
887
|
- lib/ree_lib/packages/ree_logger/package/ree_logger/appenders/stdout_appender.rb
|
873
888
|
- lib/ree_lib/packages/ree_logger/package/ree_logger/beans/logger.rb
|
874
889
|
- lib/ree_lib/packages/ree_logger/package/ree_logger/config.rb
|
@@ -887,6 +902,7 @@ files:
|
|
887
902
|
- lib/ree_lib/packages/ree_logger/spec/package_schema_spec.rb
|
888
903
|
- lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/appender_spec.rb
|
889
904
|
- lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/file_appender_spec.rb
|
905
|
+
- lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/rollbar_appender_spec.rb
|
890
906
|
- lib/ree_lib/packages/ree_logger/spec/ree_logger/appenders/stdout_appender_spec.rb
|
891
907
|
- lib/ree_lib/packages/ree_logger/spec/ree_logger/beans/logger_spec.rb
|
892
908
|
- lib/ree_lib/packages/ree_logger/spec/ree_logger/formatters/colorized_formatter_spec.rb
|