rack-action_logger 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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