logjam_agent 0.6.5 → 0.6.6

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.
@@ -22,10 +22,11 @@ module LogjamAgent
22
22
  private
23
23
 
24
24
  def start_request(env)
25
- app_name = env["logjam_agent.application_name"] || LogjamAgent.application_name
26
- env_name = env["logjam_agent.environment_name"] || LogjamAgent.environment_name
27
- caller_id = env["HTTP_X_LOGJAM_CALLER_ID"] || ""
28
- Rails.logger.start_request(app_name, env_name, :caller_id => caller_id)
25
+ app_name = env["logjam_agent.application_name"] || LogjamAgent.application_name
26
+ env_name = env["logjam_agent.environment_name"] || LogjamAgent.environment_name
27
+ caller_id = env["HTTP_X_LOGJAM_CALLER_ID"] || ""
28
+ caller_action = env["HTTP_X_LOGJAM_ACTION"] || ""
29
+ Rails.logger.start_request(app_name, env_name, :caller_id => caller_id, :caller_action => caller_action)
29
30
  end
30
31
 
31
32
  def finish_request(env)
@@ -35,10 +35,9 @@ module LogjamAgent
35
35
 
36
36
  def after_dispatch(env, result, run_time_ms)
37
37
  status = result ? result.first : 500
38
- duration, additions, view_time, action = Thread.current.thread_variable_get(:time_bandits_completed_info)
38
+ _, additions, view_time, _ = Thread.current.thread_variable_get(:time_bandits_completed_info)
39
39
 
40
- action_name = LogjamAgent.action_name_proc.call(action)
41
- request_info = {:total_time => run_time_ms, :code => status, :action => action_name, :view_time => view_time || 0.0}
40
+ request_info = {:total_time => run_time_ms, :code => status, :view_time => view_time || 0.0}
42
41
 
43
42
  message = "Completed #{status} #{::Rack::Utils::HTTP_STATUS_CODES[status]} in %.1fms" % run_time_ms
44
43
  message << " (#{additions.join(' | ')})" unless additions.blank?
@@ -114,3 +113,31 @@ module LogjamAgent
114
113
  end
115
114
  end
116
115
  end
116
+
117
+ # patch the actioncontroller logsubscriber to set the action on the logjam logger as soon as it starts processing the request
118
+ require 'action_controller/metal/instrumentation'
119
+ require 'action_controller/log_subscriber'
120
+
121
+ module ActionController #:nodoc:
122
+
123
+ class LogSubscriber
124
+ def start_processing(event)
125
+ payload = event.payload
126
+ params = payload[:params].except(*INTERNAL_PARAMS)
127
+ format = payload[:format]
128
+ format = format.to_s.upcase if format.is_a?(Symbol)
129
+
130
+ controller = payload[:controller]
131
+ action = payload[:action]
132
+ full_name = "#{controller}##{action}"
133
+ action_name = LogjamAgent.action_name_proc.call(full_name)
134
+
135
+ # puts "setting logjam action to #{action_name}"
136
+ Rails.logger.request.fields[:action] = action_name
137
+
138
+ info "Processing by #{full_name} as #{format}"
139
+ info " Parameters: #{params.inspect}" unless params.empty?
140
+ end
141
+ end
142
+
143
+ end
@@ -6,7 +6,7 @@ end
6
6
 
7
7
  module LogjamAgent
8
8
  class Request
9
- attr_reader :caller_id, :fields
9
+ attr_reader :fields
10
10
 
11
11
  def initialize(app, env, logger, initial_fields)
12
12
  @logger = logger
@@ -27,6 +27,10 @@ module LogjamAgent
27
27
  @fields[:caller_id]
28
28
  end
29
29
 
30
+ def caller_action
31
+ @fields[:caller_action]
32
+ end
33
+
30
34
  def add_line(severity, timestamp, message)
31
35
  @mutex.synchronize do
32
36
  @lines << [severity, format_time(timestamp), message.strip]
@@ -1,3 +1,3 @@
1
1
  module LogjamAgent
2
- VERSION = "0.6.5"
2
+ VERSION = "0.6.6"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logjam_agent
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 5
10
- version: 0.6.5
9
+ - 6
10
+ version: 0.6.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Stefan Kaes
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-04-12 00:00:00 Z
18
+ date: 2013-05-13 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rake