loglevel 0.1.1 → 0.2.1
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/.codeclimate.yml +17 -0
- data/CHANGELOG.md +8 -1
- data/README.md +2 -2
- data/lib/loglevel.rb +71 -57
- data/lib/loglevel/active_record.rb +5 -3
- data/lib/loglevel/classes.rb +1 -1
- data/lib/loglevel/help.rb +23 -5
- data/lib/loglevel/http_logger.rb +5 -3
- data/lib/loglevel/version.rb +2 -2
- data/script/console +1 -1
- data/spec/loglevel/active_record_spec.rb +5 -6
- data/spec/loglevel/help_spec.rb +52 -1
- data/spec/loglevel/http_logger_spec.rb +4 -5
- data/spec/loglevel_spec.rb +35 -41
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bd8c2f39f120e520842eba218003ea8b70ae4e8
|
4
|
+
data.tar.gz: 7e36d867091c81a083582f5ccf0c61681406aebf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d041a8329f0bd72c8fff3d2d7463810222aedbeb806856fcf84b8a04b3aac9fe52a4d81cf494d9baf1db74a93d125a07029a93057df6388b5c15c1811e6791d9
|
7
|
+
data.tar.gz: 6b0ac0586984255775ea12f64bf834e4900c65d3ea26d3e1409bfc8f1270d85784abdbd54367e8ccfc1dfefe752572cdd8d13af0b145ae1d0f68daec210c597d
|
data/.codeclimate.yml
ADDED
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,14 @@
|
|
2
2
|
|
3
3
|
## [Unreleased](https://github.com/dominicsayers/loglevel/tree/HEAD)
|
4
4
|
|
5
|
-
[Full Changelog](https://github.com/dominicsayers/loglevel/compare/v0.1.
|
5
|
+
[Full Changelog](https://github.com/dominicsayers/loglevel/compare/v0.1.1...HEAD)
|
6
|
+
|
7
|
+
**Merged pull requests:**
|
8
|
+
|
9
|
+
- Loglevel release [\#2](https://github.com/dominicsayers/loglevel/pull/2) ([dominicsayers](https://github.com/dominicsayers))
|
10
|
+
|
11
|
+
## [v0.1.1](https://github.com/dominicsayers/loglevel/tree/v0.1.1) (2017-03-29)
|
12
|
+
[Full Changelog](https://github.com/dominicsayers/loglevel/compare/v0.1.0...v0.1.1)
|
6
13
|
|
7
14
|
**Merged pull requests:**
|
8
15
|
|
data/README.md
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
[](https://rubygems.org/gems/loglevel)
|
4
4
|
[](https://rubygems.org/gems/loglevel)
|
5
5
|
[](https://travis-ci.org/dominicsayers/loglevel)
|
6
|
-
[](https://codeclimate.com/github/dominicsayers/loglevel)
|
7
|
+
[](https://codeclimate.com/github/dominicsayers/loglevel/coverage)
|
8
8
|
[](https://gemnasium.com/github.com/dominicsayers/loglevel)
|
9
9
|
[](https://hakiri.io/github/dominicsayers/loglevel/master)
|
10
10
|
|
data/lib/loglevel.rb
CHANGED
@@ -3,88 +3,102 @@ require 'loglevel/active_record'
|
|
3
3
|
require 'loglevel/http_logger'
|
4
4
|
require 'loglevel/help'
|
5
5
|
|
6
|
-
|
6
|
+
class Loglevel
|
7
7
|
ENV_VAR_LEVEL = 'LOGLEVEL'.freeze
|
8
8
|
ENV_VAR_LOGGER = 'LOGLEVEL_LOGGER'.freeze
|
9
9
|
ENV_VAR_DEVICE = 'LOGLEVEL_DEVICE'.freeze
|
10
10
|
ENV_VAR_CLASSES = 'LOGLEVEL_CLASSES'.freeze
|
11
|
-
|
11
|
+
LOGLEVELS = %w(DEBUG INFO WARN ERROR FATAL UNKNOWN).freeze
|
12
12
|
|
13
13
|
class << self
|
14
|
-
attr_reader :classes
|
15
|
-
attr_writer :logger
|
16
|
-
|
17
14
|
def setup
|
18
|
-
|
15
|
+
new
|
16
|
+
end
|
17
|
+
end
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
@logger = nil
|
23
|
-
@log_level = nil
|
19
|
+
attr_reader :classes
|
20
|
+
attr_writer :logger
|
24
21
|
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
def logger
|
23
|
+
@logger ||= logger_class.new device
|
24
|
+
end
|
28
25
|
|
29
|
-
|
30
|
-
|
26
|
+
def level
|
27
|
+
@level ||= logger_class.const_get level_name
|
28
|
+
end
|
31
29
|
|
32
|
-
|
33
|
-
@logger ||= logger_class.new log_device
|
34
|
-
end
|
30
|
+
private
|
35
31
|
|
36
|
-
|
37
|
-
|
38
|
-
end
|
32
|
+
def initialize
|
33
|
+
return unless ENV[ENV_VAR_LEVEL]
|
39
34
|
|
40
|
-
|
35
|
+
@classes = Loglevel::Classes.new.classes
|
36
|
+
@settings = nil
|
37
|
+
@logger = nil
|
38
|
+
@level = nil
|
41
39
|
|
42
|
-
|
43
|
-
|
44
|
-
|
40
|
+
setup_classes
|
41
|
+
announce
|
42
|
+
end
|
45
43
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
end
|
44
|
+
def setup_classes
|
45
|
+
@classes_to_setup = @classes.dup
|
46
|
+
setup_active_record
|
47
|
+
setup_http_logger
|
48
|
+
setup_remaining_classes
|
49
|
+
end
|
53
50
|
|
54
|
-
|
55
|
-
|
51
|
+
# Setup any other classes (e.g. Rails)
|
52
|
+
def setup_remaining_classes
|
53
|
+
@classes_to_setup.each do |klass|
|
54
|
+
klass.logger = logger
|
55
|
+
klass.logger.level = level
|
56
56
|
end
|
57
|
+
end
|
57
58
|
|
58
|
-
|
59
|
-
|
60
|
-
|
59
|
+
def announce
|
60
|
+
help if help?
|
61
|
+
puts inspect if level_name == 'DEBUG'
|
62
|
+
puts debug if lookup('__DEBUG')
|
63
|
+
end
|
61
64
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
+
def level_name
|
66
|
+
(LOGLEVELS & settings).first || 'INFO'
|
67
|
+
end
|
65
68
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
+
def logger_class
|
70
|
+
Object.const_get ENV.fetch(ENV_VAR_LOGGER, 'Logger')
|
71
|
+
end
|
69
72
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
@null_device ||= '/dev/null'
|
74
|
-
end
|
73
|
+
def device
|
74
|
+
%w(STDOUT STDERR).include?(device_name) ? Object.const_get(device_name) : device_name
|
75
|
+
end
|
75
76
|
|
76
|
-
|
77
|
-
|
78
|
-
|
77
|
+
def device_name
|
78
|
+
ENV.fetch(ENV_VAR_DEVICE, 'STDOUT')
|
79
|
+
end
|
79
80
|
|
80
|
-
|
81
|
-
|
82
|
-
|
81
|
+
# Implementing as a method in case someone wants to detect the OS and make
|
82
|
+
# an OS-dependent null device
|
83
|
+
def null_device
|
84
|
+
@null_device ||= '/dev/null'
|
85
|
+
end
|
83
86
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
+
def null_logger
|
88
|
+
@null_logger ||= logger_class.new null_device
|
89
|
+
end
|
90
|
+
|
91
|
+
def lookup(setting)
|
92
|
+
settings.include?(setting)
|
87
93
|
end
|
94
|
+
|
95
|
+
def settings
|
96
|
+
@settings ||= ENV.fetch(ENV_VAR_LEVEL, '').upcase.split(',')
|
97
|
+
end
|
98
|
+
|
99
|
+
include Loglevel::ActiveRecord
|
100
|
+
include Loglevel::HttpLogger
|
101
|
+
include Loglevel::Help
|
88
102
|
end
|
89
103
|
|
90
104
|
Loglevel.setup
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# ActiveRecord-specific settings
|
2
|
-
|
2
|
+
class Loglevel
|
3
3
|
module ActiveRecord
|
4
|
+
private
|
5
|
+
|
4
6
|
def active_record?
|
5
7
|
!lookup('NOAR')
|
6
8
|
end
|
7
9
|
|
8
10
|
def setup_active_record
|
9
|
-
return unless defined?(::ActiveRecord::Base) &&
|
11
|
+
return unless defined?(::ActiveRecord::Base) && @classes_to_setup.delete(::ActiveRecord::Base)
|
10
12
|
active_record? ? setup_active_record_logger_to_log : setup_active_record_logger_not_to_log
|
11
13
|
end
|
12
14
|
|
13
15
|
def setup_active_record_logger_to_log
|
14
16
|
::ActiveRecord::Base.logger = logger
|
15
|
-
::ActiveRecord::Base.logger.level =
|
17
|
+
::ActiveRecord::Base.logger.level = level
|
16
18
|
end
|
17
19
|
|
18
20
|
def setup_active_record_logger_not_to_log
|
data/lib/loglevel/classes.rb
CHANGED
data/lib/loglevel/help.rb
CHANGED
@@ -1,10 +1,6 @@
|
|
1
1
|
# Help
|
2
|
-
|
2
|
+
class Loglevel
|
3
3
|
module Help
|
4
|
-
def help?
|
5
|
-
lookup('HELP') || settings == ['TRUE']
|
6
|
-
end
|
7
|
-
|
8
4
|
def help
|
9
5
|
logger.info <<-HELP.gsub(' ', '')
|
10
6
|
Usage: DEBUG=SETTING,SETTING,SETTING rails server
|
@@ -24,5 +20,27 @@ module Loglevel
|
|
24
20
|
HTTP messages will only be shown if http_logger gem is present
|
25
21
|
HELP
|
26
22
|
end
|
23
|
+
|
24
|
+
def inspect
|
25
|
+
"#<#{self.class}: logger=#{logger_class}, device=#{device_name}, level=#{level_name}, settings=#{settings}>"
|
26
|
+
end
|
27
|
+
|
28
|
+
def debug
|
29
|
+
debug = classes.map do |klass|
|
30
|
+
l = klass.logger
|
31
|
+
d = l.instance_variable_get('@logdev')
|
32
|
+
f = d.filename || d.dev || 'nil'
|
33
|
+
v = self.class::LOGLEVELS[l.level]
|
34
|
+
"#{klass}: logger=#{l.class}, device=#{f}, level=#{v}"
|
35
|
+
end
|
36
|
+
|
37
|
+
debug.join("\n")
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def help?
|
43
|
+
lookup('HELP') || settings == ['TRUE']
|
44
|
+
end
|
27
45
|
end
|
28
46
|
end
|
data/lib/loglevel/http_logger.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# HttpLogger-specific settings
|
2
|
-
|
2
|
+
class Loglevel
|
3
3
|
module HttpLogger
|
4
|
+
private
|
5
|
+
|
4
6
|
def http?
|
5
7
|
!lookup('NOHTTP')
|
6
8
|
end
|
@@ -14,13 +16,13 @@ module Loglevel
|
|
14
16
|
end
|
15
17
|
|
16
18
|
def setup_http_logger
|
17
|
-
return unless defined?(::HttpLogger) &&
|
19
|
+
return unless defined?(::HttpLogger) && @classes_to_setup.delete(::HttpLogger)
|
18
20
|
http? ? setup_http_logger_to_log : setup_http_logger_not_to_log
|
19
21
|
end
|
20
22
|
|
21
23
|
def setup_http_logger_to_log
|
22
24
|
::HttpLogger.logger = logger
|
23
|
-
::HttpLogger.level =
|
25
|
+
::HttpLogger.level = level_name.downcase.to_sym
|
24
26
|
::HttpLogger.log_response_body = response_body?
|
25
27
|
::HttpLogger.log_headers = request_headers?
|
26
28
|
::HttpLogger.ignore = [/9200/, /7474/] # ignore Elasticsearch & Neo4J
|
data/lib/loglevel/version.rb
CHANGED
data/script/console
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
#!/bin/sh
|
2
|
-
bundle exec irb -rubygems -I lib -r loglevel.rb
|
2
|
+
bundle exec irb -rubygems -I lib -r logger.rb -r loglevel.rb
|
@@ -29,16 +29,15 @@ RSpec.describe Loglevel::ActiveRecord do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
context 'NOAR' do
|
32
|
-
|
33
|
-
ENV.store Loglevel::ENV_VAR_LEVEL, 'noAR' # the capitalization is intentional
|
34
|
-
Loglevel.setup
|
35
|
-
end
|
32
|
+
let(:loglevel) { Loglevel.setup }
|
36
33
|
|
34
|
+
before { ENV.store Loglevel::ENV_VAR_LEVEL, 'noAR' } # the capitalization is intentional
|
37
35
|
after { ENV.delete Loglevel::ENV_VAR_LEVEL }
|
38
36
|
|
39
37
|
it 'has the expected ActiveRecord settings' do
|
40
|
-
|
41
|
-
expect(::ActiveRecord::Base.logger
|
38
|
+
loglevel # force instantiation
|
39
|
+
expect(::ActiveRecord::Base.logger).to eq loglevel.send(:null_logger)
|
40
|
+
expect(::ActiveRecord::Base.logger.level).to eq ::Logger.const_get('FATAL')
|
42
41
|
end
|
43
42
|
end
|
44
43
|
end
|
data/spec/loglevel/help_spec.rb
CHANGED
@@ -1,27 +1,78 @@
|
|
1
1
|
RSpec.describe Loglevel::Help do
|
2
2
|
context 'HELP' do
|
3
3
|
before do
|
4
|
+
class MyLogDevice
|
5
|
+
attr_reader :filename, :dev
|
6
|
+
|
7
|
+
def initialize(device)
|
8
|
+
@dev = device
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
4
12
|
class MyLogger
|
5
13
|
INFO = 1
|
6
14
|
attr_accessor :level
|
7
15
|
|
8
|
-
def initialize(device)
|
16
|
+
def initialize(device)
|
17
|
+
@logdev = MyLogDevice.new(device)
|
18
|
+
end
|
9
19
|
|
10
20
|
def info(message); end
|
11
21
|
end
|
12
22
|
|
13
23
|
ENV.store Loglevel::ENV_VAR_LOGGER, 'MyLogger'
|
24
|
+
ENV.store Loglevel::ENV_VAR_DEVICE, 'MyDevice'
|
14
25
|
ENV.store Loglevel::ENV_VAR_LEVEL, 'Help' # the capitalization is intentional
|
15
26
|
end
|
16
27
|
|
17
28
|
after do
|
18
29
|
ENV.delete Loglevel::ENV_VAR_LOGGER
|
30
|
+
ENV.delete Loglevel::ENV_VAR_DEVICE
|
19
31
|
ENV.delete Loglevel::ENV_VAR_LEVEL
|
32
|
+
Object.send(:remove_const, :MyLogger)
|
33
|
+
Object.send(:remove_const, :MyLogDevice)
|
20
34
|
end
|
21
35
|
|
22
36
|
it 'has the expected ActiveRecord settings' do
|
23
37
|
expect_any_instance_of(MyLogger).to receive(:info).once
|
24
38
|
Loglevel.setup
|
25
39
|
end
|
40
|
+
|
41
|
+
it 'shows information about itself' do
|
42
|
+
expect(Loglevel.setup.inspect).to eq(
|
43
|
+
'#<Loglevel: logger=MyLogger, device=MyDevice, level=INFO, settings=["HELP"]>'
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'shows debugging information about itself' do
|
48
|
+
class MyClass
|
49
|
+
class << self
|
50
|
+
attr_accessor :logger
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
class Rails < MyClass; end
|
55
|
+
|
56
|
+
module ActiveRecord
|
57
|
+
class Base < Rails; end
|
58
|
+
end
|
59
|
+
|
60
|
+
class HttpLogger < Rails
|
61
|
+
class << self
|
62
|
+
attr_accessor :level, :log_response_body, :log_headers, :ignore
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
expect(Loglevel.setup.debug).to eq <<-DEBUG.gsub(' ', '').chomp
|
67
|
+
Rails: logger=MyLogger, device=MyDevice, level=INFO
|
68
|
+
ActiveRecord::Base: logger=MyLogger, device=MyDevice, level=INFO
|
69
|
+
HttpLogger: logger=MyLogger, device=MyDevice, level=INFO
|
70
|
+
DEBUG
|
71
|
+
|
72
|
+
Object.send(:remove_const, :MyClass)
|
73
|
+
Object.send(:remove_const, :Rails)
|
74
|
+
Object.send(:remove_const, :ActiveRecord)
|
75
|
+
Object.send(:remove_const, :HttpLogger)
|
76
|
+
end
|
26
77
|
end
|
27
78
|
end
|
@@ -29,15 +29,14 @@ RSpec.describe Loglevel::HttpLogger do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
context 'NOHTTP' do
|
32
|
-
|
33
|
-
ENV.store Loglevel::ENV_VAR_LEVEL, 'noHttp' # the capitalization is intentional
|
34
|
-
Loglevel.setup
|
35
|
-
end
|
32
|
+
let(:loglevel) { Loglevel.setup }
|
36
33
|
|
34
|
+
before { ENV.store Loglevel::ENV_VAR_LEVEL, 'NoHttp' } # the capitalization is intentional
|
37
35
|
after { ENV.delete Loglevel::ENV_VAR_LEVEL }
|
38
36
|
|
39
37
|
it 'has the expected HttpLogger settings' do
|
40
|
-
|
38
|
+
loglevel # force instantiation
|
39
|
+
expect(::HttpLogger.logger).to eq loglevel.send(:null_logger)
|
41
40
|
expect(::HttpLogger.level).to eq :fatal
|
42
41
|
end
|
43
42
|
end
|
data/spec/loglevel_spec.rb
CHANGED
@@ -29,14 +29,14 @@ RSpec.describe Loglevel do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
context 'no environment variable' do
|
32
|
-
|
32
|
+
let(:loglevel) { Loglevel.setup }
|
33
33
|
|
34
34
|
it 'has the expected logger class' do
|
35
|
-
expect(
|
35
|
+
expect(loglevel.send(:logger_class)).to eq ::Logger
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'has the expected device' do
|
39
|
-
expect(
|
39
|
+
expect(loglevel.send(:device)).to eq STDOUT
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'has the expected log level' do
|
@@ -56,32 +56,33 @@ RSpec.describe Loglevel do
|
|
56
56
|
end
|
57
57
|
|
58
58
|
context 'defaults' do
|
59
|
-
|
60
|
-
ENV.store Loglevel::ENV_VAR_LEVEL, 'INFO'
|
61
|
-
Loglevel.setup
|
62
|
-
end
|
59
|
+
let(:loglevel) { Loglevel.setup }
|
63
60
|
|
61
|
+
before { ENV.store Loglevel::ENV_VAR_LEVEL, 'INFO' }
|
64
62
|
after { ENV.delete Loglevel::ENV_VAR_LEVEL }
|
65
63
|
|
66
64
|
it 'has the expected logger class' do
|
67
|
-
expect(
|
65
|
+
expect(loglevel.send(:logger_class)).to eq ::Logger
|
68
66
|
end
|
69
67
|
|
70
68
|
it 'has the expected device' do
|
71
|
-
expect(
|
69
|
+
expect(loglevel.send(:device)).to eq STDOUT
|
72
70
|
end
|
73
71
|
|
74
72
|
it 'has the expected log level' do
|
75
|
-
|
76
|
-
expect(Rails.logger
|
73
|
+
loglevel # force instantiation
|
74
|
+
expect(Rails.logger).to eq loglevel.logger
|
75
|
+
expect(Rails.logger.level).to eq ::Logger.const_get('INFO')
|
77
76
|
end
|
78
77
|
|
79
78
|
it 'has the expected ActiveRecord::Base settings' do
|
80
|
-
|
81
|
-
expect(::ActiveRecord::Base.logger
|
79
|
+
loglevel # force instantiation
|
80
|
+
expect(::ActiveRecord::Base.logger).to eq loglevel.logger
|
81
|
+
expect(::ActiveRecord::Base.logger.level).to eq ::Logger.const_get('INFO')
|
82
82
|
end
|
83
83
|
|
84
84
|
it 'has the expected HttpLogger settings' do
|
85
|
+
loglevel # force instantiation
|
85
86
|
expect(::HttpLogger.level).to eq :info
|
86
87
|
expect(::HttpLogger.log_response_body).to be_truthy
|
87
88
|
expect(::HttpLogger.log_headers).to be_truthy
|
@@ -111,44 +112,39 @@ RSpec.describe Loglevel do
|
|
111
112
|
end
|
112
113
|
|
113
114
|
context 'HTTP and ActiveRecord' do
|
114
|
-
|
115
|
-
ENV.store Loglevel::ENV_VAR_LEVEL, 'WARN'
|
116
|
-
Loglevel.setup
|
117
|
-
end
|
115
|
+
let(:loglevel) { Loglevel.setup }
|
118
116
|
|
119
|
-
|
120
|
-
|
121
|
-
end
|
117
|
+
before { ENV.store Loglevel::ENV_VAR_LEVEL, 'WARN' }
|
118
|
+
after { ENV.delete Loglevel::ENV_VAR_LEVEL }
|
122
119
|
|
123
120
|
it 'has the expected logger class' do
|
124
|
-
expect(
|
121
|
+
expect(loglevel.send(:logger_class)).to eq ::MyLogger
|
125
122
|
end
|
126
123
|
|
127
124
|
it 'has the expected device' do
|
128
|
-
expect(
|
125
|
+
expect(loglevel.send(:device)).to eq STDERR
|
129
126
|
end
|
130
127
|
|
131
128
|
it 'has the expected log level' do
|
132
|
-
|
133
|
-
expect(Rails.logger
|
129
|
+
loglevel # force instantiation
|
130
|
+
expect(Rails.logger).to eq loglevel.logger
|
131
|
+
expect(Rails.logger.level).to eq ::Logger.const_get('WARN')
|
134
132
|
end
|
135
133
|
end
|
136
134
|
|
137
135
|
context 'HTTP but not ActiveRecord' do
|
138
|
-
|
139
|
-
ENV.store Loglevel::ENV_VAR_LEVEL, 'WARN,NOBODY,NOHEADERS,NOAR'
|
140
|
-
Loglevel.setup
|
141
|
-
end
|
136
|
+
let(:loglevel) { Loglevel.setup }
|
142
137
|
|
143
|
-
|
144
|
-
|
145
|
-
end
|
138
|
+
before { ENV.store Loglevel::ENV_VAR_LEVEL, 'WARN,NOBODY,NOHEADERS,NOAR' }
|
139
|
+
after { ENV.delete Loglevel::ENV_VAR_LEVEL }
|
146
140
|
|
147
141
|
it 'has the expected ActiveRecord::Base settings' do
|
148
|
-
|
142
|
+
loglevel # force instantiation
|
143
|
+
expect(::ActiveRecord::Base.logger).to eq loglevel.send(:null_logger)
|
149
144
|
end
|
150
145
|
|
151
146
|
it 'has the expected HttpLogger settings' do
|
147
|
+
loglevel # force instantiation
|
152
148
|
expect(::HttpLogger.level).to eq :warn
|
153
149
|
expect(::HttpLogger.log_response_body).to be_falsey
|
154
150
|
expect(::HttpLogger.log_headers).to be_falsey
|
@@ -157,21 +153,19 @@ RSpec.describe Loglevel do
|
|
157
153
|
end
|
158
154
|
|
159
155
|
context 'ActiveRecord but not HTTP' do
|
160
|
-
|
161
|
-
ENV.store Loglevel::ENV_VAR_LEVEL, 'WARN,NOHTTP'
|
162
|
-
Loglevel.setup
|
163
|
-
end
|
156
|
+
let(:loglevel) { Loglevel.setup }
|
164
157
|
|
165
|
-
|
166
|
-
|
167
|
-
end
|
158
|
+
before { ENV.store Loglevel::ENV_VAR_LEVEL, 'WARN,NOHTTP' }
|
159
|
+
after { ENV.delete Loglevel::ENV_VAR_LEVEL }
|
168
160
|
|
169
161
|
it 'has the expected ActiveRecord::Base settings' do
|
170
|
-
|
171
|
-
expect(::ActiveRecord::Base.logger
|
162
|
+
loglevel # force instantiation
|
163
|
+
expect(::ActiveRecord::Base.logger).to eq loglevel.logger
|
164
|
+
expect(::ActiveRecord::Base.logger.level).to eq ::Logger.const_get('WARN')
|
172
165
|
end
|
173
166
|
|
174
167
|
it 'has the expected HttpLogger settings' do
|
168
|
+
loglevel # force instantiation
|
175
169
|
expect(::HttpLogger.level).to eq :fatal
|
176
170
|
expect(::HttpLogger.log_response_body).to be_falsey
|
177
171
|
expect(::HttpLogger.log_headers).to be_falsey
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loglevel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominic Sayers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A simple gem to interact with Mailchimp through their API v3
|
14
14
|
email:
|
@@ -17,6 +17,7 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- .codeclimate.yml
|
20
21
|
- .gitignore
|
21
22
|
- .hound.yml
|
22
23
|
- .rspec
|
@@ -64,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
65
|
version: '0'
|
65
66
|
requirements: []
|
66
67
|
rubyforge_project:
|
67
|
-
rubygems_version: 2.
|
68
|
+
rubygems_version: 2.6.11
|
68
69
|
signing_key:
|
69
70
|
specification_version: 4
|
70
71
|
summary: 'Example: mailchimp.lists("My first list").member("ann@example.com")'
|