silencer 0.4.0 → 0.5.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.
- data/.travis.yml +10 -4
- data/Gemfile +13 -1
- data/README.md +2 -2
- data/lib/silencer/logger.rb +2 -2
- data/lib/silencer/version.rb +1 -1
- data/silencer.gemspec +0 -8
- data/spec/silencer_spec.rb +25 -10
- data/spec/spec_helper.rb +2 -4
- metadata +8 -114
data/.travis.yml
CHANGED
@@ -1,8 +1,14 @@
|
|
1
|
+
bundler_args: --without development
|
2
|
+
language: ruby
|
1
3
|
rvm:
|
4
|
+
- jruby-18mode
|
5
|
+
- jruby-19mode
|
6
|
+
- rbx-18mode
|
7
|
+
- rbx-19mode
|
2
8
|
- 1.8.7
|
3
9
|
- 1.9.2
|
4
10
|
- 1.9.3
|
5
|
-
-
|
6
|
-
|
7
|
-
|
8
|
-
|
11
|
+
- 2.0.0
|
12
|
+
matrix:
|
13
|
+
allow_failures:
|
14
|
+
- rvm: 2.0.0
|
data/Gemfile
CHANGED
@@ -1,4 +1,16 @@
|
|
1
1
|
source 'http://rubygems.org'
|
2
2
|
|
3
|
-
|
3
|
+
gem 'rake'
|
4
|
+
gem 'yard'
|
5
|
+
|
6
|
+
group :development do
|
7
|
+
gem 'kramdown'
|
8
|
+
end
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem 'rspec'
|
12
|
+
gem 'simplecov'
|
13
|
+
gem 'guard-rspec'
|
14
|
+
end
|
15
|
+
|
4
16
|
gemspec
|
data/README.md
CHANGED
@@ -23,7 +23,7 @@ In your production environment (presumably):
|
|
23
23
|
Or if you'd prefer, you can pass it regular expressions:
|
24
24
|
|
25
25
|
|
26
|
-
config.middleware.swap Rails::Rack::Logger, Silencer::Logger, :silence => [
|
26
|
+
config.middleware.swap Rails::Rack::Logger, Silencer::Logger, :silence => [%r{^/assets/}]
|
27
27
|
|
28
28
|
Silencer's logger will serve as a drop-in replacement for Rails' default logger. It will not suppress any logging by default, simply pass it an array of urls via the options hash. You can also send it a 'X-SILENCE-LOGGER' header (with any value) with your request and that will also produce the same behavior.
|
29
29
|
|
@@ -31,7 +31,7 @@ Silencer's logger will serve as a drop-in replacement for Rails' default logger.
|
|
31
31
|
|
32
32
|
Rails 2.3.x introduced a tagged logging feature. If you are using tagged logging with Rails 2.3 you can also pass taggers via the middleware:
|
33
33
|
|
34
|
-
config.middleware.swap Rails::Rack::Logger, Silencer::Logger, config.log_tags, :silence => [
|
34
|
+
config.middleware.swap Rails::Rack::Logger, Silencer::Logger, config.log_tags, :silence => [%r{^/assets/}]
|
35
35
|
|
36
36
|
## Note on Patches/Pull Requests
|
37
37
|
|
data/lib/silencer/logger.rb
CHANGED
@@ -5,8 +5,8 @@ module Silencer
|
|
5
5
|
class Logger < Rails::Rack::Logger
|
6
6
|
def initialize(app, *taggers)
|
7
7
|
@app = app
|
8
|
-
|
9
|
-
|
8
|
+
opts = taggers.extract_options!
|
9
|
+
@taggers = taggers.flatten
|
10
10
|
@silence = Array.wrap(opts[:silence])
|
11
11
|
end
|
12
12
|
|
data/lib/silencer/version.rb
CHANGED
data/silencer.gemspec
CHANGED
@@ -10,14 +10,6 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.description = 'Selectively quiet your Rails logger on a per-action basis'
|
11
11
|
gem.summary = gem.description
|
12
12
|
|
13
|
-
gem.add_development_dependency 'rake'
|
14
|
-
gem.add_development_dependency 'rspec'
|
15
|
-
gem.add_development_dependency 'yard'
|
16
|
-
gem.add_development_dependency 'rdiscount'
|
17
|
-
gem.add_development_dependency 'simplecov'
|
18
|
-
gem.add_development_dependency 'guard'
|
19
|
-
gem.add_development_dependency 'guard-rspec'
|
20
|
-
|
21
13
|
gem.add_dependency 'railties', '>= 3'
|
22
14
|
|
23
15
|
gem.files = `git ls-files`.split("\n")
|
data/spec/silencer_spec.rb
CHANGED
@@ -11,33 +11,48 @@ describe Silencer::Logger do
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
|
14
|
+
def should_silence_logger
|
15
|
+
Rails.logger.should_receive(:level=).with(::Logger::ERROR).once
|
16
|
+
end
|
17
|
+
def should_not_silence_logger
|
15
18
|
Rails.logger.should_not_receive(:level=).with(::Logger::ERROR)
|
19
|
+
end
|
16
20
|
|
17
|
-
|
21
|
+
it 'by default does not silence any requests or use any taggers' do
|
22
|
+
should_not_silence_logger
|
23
|
+
logger = Silencer::Logger.new(@app)
|
24
|
+
logger.instance_variable_get(:@taggers).should == []
|
25
|
+
logger.call(Rack::MockRequest.env_for("/"))
|
18
26
|
end
|
19
27
|
|
28
|
+
let(:log_tags) { [:uuid, :queue] }
|
20
29
|
it 'instantiates with an optional taggers array' do
|
21
|
-
|
30
|
+
should_silence_logger
|
31
|
+
logger = Silencer::Logger.new(@app, log_tags, :silence => ['/'])
|
32
|
+
logger.instance_variable_get(:@taggers).should == log_tags
|
33
|
+
logger.call(Rack::MockRequest.env_for("/"))
|
34
|
+
end
|
22
35
|
|
23
|
-
|
36
|
+
# Note: initially this test used a splat on log_tags but it fails on 1.8
|
37
|
+
it 'instantiates with an optional taggers array passed as args' do
|
38
|
+
should_silence_logger
|
39
|
+
logger = Silencer::Logger.new(@app, :uuid, :queue, :silence => ['/'])
|
40
|
+
logger.instance_variable_get(:@taggers).should == log_tags
|
41
|
+
logger.call(Rack::MockRequest.env_for("/"))
|
24
42
|
end
|
25
43
|
|
26
44
|
it 'quiets the log when configured with a silenced path' do
|
27
|
-
|
28
|
-
|
45
|
+
should_silence_logger
|
29
46
|
Silencer::Logger.new(@app, :silence => ['/']).call(Rack::MockRequest.env_for("/"))
|
30
47
|
end
|
31
48
|
|
32
49
|
it 'quiets the log when configured with a regex' do
|
33
|
-
|
34
|
-
|
50
|
+
should_silence_logger
|
35
51
|
Silencer::Logger.new(@app, :silence => [/assets/]).call(Rack::MockRequest.env_for("/assets/application.css"))
|
36
52
|
end
|
37
53
|
|
38
54
|
it 'quiets the log when passed a custom header "X-SILENCE-LOGGER"' do
|
39
|
-
|
40
|
-
|
55
|
+
should_silence_logger
|
41
56
|
Silencer::Logger.new(@app).call(Rack::MockRequest.env_for("/", 'X-SILENCE-LOGGER' => 'true'))
|
42
57
|
end
|
43
58
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
unless ENV['CI']
|
2
2
|
require 'simplecov'
|
3
3
|
SimpleCov.start do
|
4
|
+
add_filter '.bundle'
|
4
5
|
add_group 'Silencer', 'lib/silencer'
|
5
6
|
add_group 'Specs', 'spec'
|
6
7
|
end
|
7
8
|
end
|
8
9
|
|
9
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
10
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
11
|
-
|
12
10
|
require 'rack'
|
13
11
|
require 'rails'
|
14
12
|
require 'silencer'
|
15
|
-
require 'rspec'
|
13
|
+
require 'rspec'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: silencer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,120 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: rake
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :development
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: rspec
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :development
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: yard
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rdiscount
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: simplecov
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: guard
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: guard-rspec
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ! '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
14
|
- !ruby/object:Gem::Dependency
|
127
15
|
name: railties
|
128
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,12 +62,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
174
62
|
- - ! '>='
|
175
63
|
- !ruby/object:Gem::Version
|
176
64
|
version: '0'
|
65
|
+
segments:
|
66
|
+
- 0
|
67
|
+
hash: -4507938339127293314
|
177
68
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
69
|
none: false
|
179
70
|
requirements:
|
180
71
|
- - ! '>='
|
181
72
|
- !ruby/object:Gem::Version
|
182
73
|
version: '0'
|
74
|
+
segments:
|
75
|
+
- 0
|
76
|
+
hash: -4507938339127293314
|
183
77
|
requirements: []
|
184
78
|
rubyforge_project:
|
185
79
|
rubygems_version: 1.8.23
|