grape-middleware-logger 1.6.0 → 1.7.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/README.md +17 -8
- data/grape-middleware-logger.gemspec +2 -2
- data/lib/grape/middleware/logger.rb +2 -14
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 447cca99bc2e0253d2fe3645706122cec1c0c7bf
|
4
|
+
data.tar.gz: 83811830d95ab958323aa6cddabf0c77285f6a57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: efb31508ea71c6901cf2e327c9a4448d577c0246dbed6e063655195f85533eb4aec0f72bb69a2d55c8b455a7a11c47040856eb1707445432c796a88e7ee14fbf
|
7
|
+
data.tar.gz: 6075453808d8cf7ee6e7988292315083f2dc1bda0eb77810b1d3e371bcb8843aeb46200fbe4e44d0649f380046945263cd06acaea40f08c5c5464e44388630b7
|
data/README.md
CHANGED
@@ -16,29 +16,29 @@ Logs:
|
|
16
16
|
Add this line to your application's Gemfile:
|
17
17
|
|
18
18
|
```ruby
|
19
|
-
gem 'grape', '>= 0.
|
19
|
+
gem 'grape', '>= 0.17'
|
20
20
|
gem 'grape-middleware-logger'
|
21
21
|
```
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
```ruby
|
25
25
|
class API < Grape::API
|
26
|
-
# @note Make sure this above you're first +mount+
|
27
|
-
|
26
|
+
# @note Make sure this is above you're first +mount+
|
27
|
+
insert_after Grape::Middleware::Formatter, Grape::Middleware::Logger
|
28
28
|
end
|
29
29
|
```
|
30
30
|
|
31
31
|
Server requests will be logged to STDOUT by default.
|
32
32
|
|
33
33
|
## Example output
|
34
|
-
|
34
|
+
GET
|
35
35
|
```
|
36
36
|
Started GET "/v1/reports/101" at 2015-12-11 15:40:51 -0800
|
37
37
|
Processing by ReportsAPI/reports/:id
|
38
38
|
Parameters: {"id"=>"101"}
|
39
39
|
Completed 200 in 6.29ms
|
40
40
|
```
|
41
|
-
|
41
|
+
POST
|
42
42
|
```
|
43
43
|
Started POST "/v1/reports" at 2015-12-11 15:42:33 -0800
|
44
44
|
Processing by ReportsAPI/reports
|
@@ -54,17 +54,26 @@ The middleware logger can be customized with the following options:
|
|
54
54
|
* The `:logger` option can be any object that responds to `.info(String)`
|
55
55
|
* The `:filter` option can be any object that responds to `.filter(Hash)` and returns a hash.
|
56
56
|
|
57
|
+
For example:
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
insert_after Grape::Middleware::Formatter, Grape::Middleware::Logger, {
|
61
|
+
logger: Logger.new(STDERR),
|
62
|
+
filter: Class.new { def filter(opts) opts.reject { |k, _| k.to_s == 'password' } end }.new
|
63
|
+
}
|
64
|
+
```
|
65
|
+
|
57
66
|
## Using Rails?
|
58
67
|
`Rails.logger` and `Rails.application.config.filter_parameters` will be used automatically as the default logger and
|
59
|
-
param filterer, respectively.
|
68
|
+
param filterer, respectively. This behavior can be overridden by passing the `:logger` or
|
69
|
+
`:filter` option when mounting.
|
60
70
|
|
61
71
|
You may want to disable Rails logging for API endpoints, so that the logging doesn't double-up. You can achieve this
|
62
72
|
by switching around some middleware. For example:
|
63
73
|
|
64
74
|
```ruby
|
65
75
|
# config/application.rb
|
66
|
-
config.middleware.
|
67
|
-
config.middleware.insert_after 'ActionDispatch::RequestId', 'SelectiveLogger'
|
76
|
+
config.middleware.swap 'Rails::Rack::Logger', 'SelectiveLogger'
|
68
77
|
|
69
78
|
# config/initializers/selective_logger.rb
|
70
79
|
class SelectiveLogger
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'grape-middleware-logger'
|
5
|
-
spec.version = '1.
|
5
|
+
spec.version = '1.7.0'
|
6
6
|
spec.platform = Gem::Platform::RUBY
|
7
7
|
spec.authors = ['Ryan Buckley']
|
8
8
|
spec.email = ['arebuckley@gmail.com']
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
17
|
spec.require_paths = ['lib']
|
18
18
|
|
19
|
-
spec.add_dependency 'grape', '>= 0.
|
19
|
+
spec.add_dependency 'grape', '>= 0.17', '< 1'
|
20
20
|
|
21
21
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
22
22
|
spec.add_development_dependency 'mime-types', '~> 2'
|
@@ -7,7 +7,7 @@ class Grape::Middleware::Logger < Grape::Middleware::Globals
|
|
7
7
|
attr_reader :logger
|
8
8
|
|
9
9
|
class << self
|
10
|
-
attr_accessor :logger, :filter
|
10
|
+
attr_accessor :logger, :filter
|
11
11
|
|
12
12
|
def default_logger
|
13
13
|
default = Logger.new(STDOUT)
|
@@ -82,10 +82,6 @@ class Grape::Middleware::Logger < Grape::Middleware::Globals
|
|
82
82
|
|
83
83
|
def parameters
|
84
84
|
request_params = env[Grape::Env::GRAPE_REQUEST_PARAMS].to_hash
|
85
|
-
formatter = Grape::Middleware::Formatter.new(app)
|
86
|
-
formatter.instance_variable_set :@env, env
|
87
|
-
# @note parses and assigns params to @env[Grape::Env::RACK_REQUEST_FORM_HASH]
|
88
|
-
formatter.before
|
89
85
|
request_params.merge! env[Grape::Env::RACK_REQUEST_FORM_HASH] if env[Grape::Env::RACK_REQUEST_FORM_HASH]
|
90
86
|
request_params.merge! env['action_dispatch.request.request_parameters'] if env['action_dispatch.request.request_parameters']
|
91
87
|
if @options[:filter]
|
@@ -112,12 +108,4 @@ class Grape::Middleware::Logger < Grape::Middleware::Globals
|
|
112
108
|
end
|
113
109
|
end
|
114
110
|
|
115
|
-
|
116
|
-
Grape::Middleware::Formatter.send :define_method, :before do
|
117
|
-
negotiate_content_type
|
118
|
-
read_body_input unless env.key? Grape::Env::RACK_REQUEST_FORM_HASH
|
119
|
-
end
|
120
|
-
|
121
|
-
if defined?(Rails)
|
122
|
-
require_relative 'logger/railtie'
|
123
|
-
end
|
111
|
+
require_relative 'logger/railtie' if defined?(Rails)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-middleware-logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Buckley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grape
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.17'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '1'
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0.
|
29
|
+
version: '0.17'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '1'
|
@@ -147,3 +147,4 @@ test_files:
|
|
147
147
|
- spec/lib/grape/middleware/logger_spec.rb
|
148
148
|
- spec/rails_helper.rb
|
149
149
|
- spec/spec_helper.rb
|
150
|
+
has_rdoc:
|