rack-action_logger 0.1.3 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dec94c5c2fd33a145340642bbffd9b28d6f288b2
4
- data.tar.gz: 70bb26af081824cb9d3dc255fbe4da00be698c4b
3
+ metadata.gz: 4b67195a74ca4d8eba2de552e0867fd5eeac22e8
4
+ data.tar.gz: bd5f047381c02cda831427f807e9e2d35a162ac8
5
5
  SHA512:
6
- metadata.gz: 9e25b9f8999e7e77f0ecb5f685f6ab6ee24a8bc65279116fb4b41d6bb3fe80718075ed3938c64f6b3b7cae6237bb3058db3d48db6a505a777436e413324a5e99
7
- data.tar.gz: 5c946fec0a87b1e89180cb0dddf5c394ce5d0225f1760c28351d22527b0cda91396eb9e6c8a6f1b53181b437290e9e551b9f15db4a74cf04a1e4852ae4b98bcd
6
+ metadata.gz: 7489f225eef57d0860dc614f94fd8885d793fc6c5d3fd3f87ce2b6e284010c939959677a9373b9d8909f57d7eff2f8f00c12948698684447efd670e7086d0a14
7
+ data.tar.gz: b28e66ac460fac009832730844751aa6dbc7a358d51f0d3718317e40c5b5eee4ad0d6c3dc541843e3a94a0f81f1a424ebf3aef582e4ff87cf54cd7238642becf
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rack-action_logger (0.1.3)
4
+ rack-action_logger (0.1.4)
5
5
  activesupport
6
6
  fluent-logger (~> 0.5)
7
7
  woothee (~> 1.4)
@@ -15,6 +15,7 @@ module Rack::ActionLogger
15
15
  attr_accessor :rack_request_blacklist
16
16
  attr_accessor :pretty_print
17
17
  attr_accessor :rack_metrics
18
+ attr_accessor :rack_content_types
18
19
 
19
20
  def initialize
20
21
  @emit_adapter = EmitAdapter::LoggerAdapter
@@ -25,6 +26,7 @@ module Rack::ActionLogger
25
26
  @rack_request_blacklist = [:request_headers, :response_headers, :response_json_body]
26
27
  @pretty_print = true
27
28
  @rack_metrics = Rack::ActionLogger::Metrics::RackMetrics
29
+ @rack_content_types = %w(text/html application/json)
28
30
  end
29
31
 
30
32
  def tag_prefix
@@ -19,6 +19,7 @@ module Rack::ActionLogger::Metrics
19
19
  @headers = headers
20
20
  @body = body
21
21
  @request = Rack::Request.new(env)
22
+ @response = Rack::Response.new(body, status_code, headers)
22
23
  @ua = Woothee.parse(@request.user_agent)
23
24
  filters = Rack::ActionLogger.configuration.filters
24
25
  @compiled_filters = Rack::ActionLogger::ParameterFiltering.compile(filters)
@@ -34,7 +35,7 @@ module Rack::ActionLogger::Metrics
34
35
  end
35
36
 
36
37
  def metrics
37
- return unless action_controller
38
+ return unless enable_metrics
38
39
  METRICS.inject({}) do |result, metric|
39
40
  result[metric] = self.send(metric) unless
40
41
  Rack::ActionLogger.configuration.rack_request_blacklist.include? metric
@@ -58,10 +59,18 @@ module Rack::ActionLogger::Metrics
58
59
  @env.select { |v| v.start_with? 'HTTP_' }
59
60
  end
60
61
 
62
+ def enable_metrics
63
+ Rack::ActionLogger.configuration.rack_content_types.any? { |c| content_type.include?(c) } || action_controller
64
+ end
65
+
61
66
  def action_controller
62
67
  @env['action_controller.instance']
63
68
  end
64
69
 
70
+ def content_type
71
+ @response.content_type
72
+ end
73
+
65
74
  def remote_ip
66
75
  @request.ip
67
76
  end
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module ActionLogger
3
- VERSION = '0.1.3'
3
+ VERSION = '0.1.4'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-action_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koichi Ishida