Class: Rackstash::LogSubscriber
- Inherits:
-
ActiveSupport::LogSubscriber
- Object
- ActiveSupport::LogSubscriber
- Rackstash::LogSubscriber
- Defined in:
- lib/rackstash/log_subscriber.rb
Instance Method Summary collapse
- #_extract_exception_backtrace(env) ⇒ Object
- #process_action(event) ⇒ Object
- #redirect_to(event) ⇒ Object
Instance Method Details
#_extract_exception_backtrace(env) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/rackstash/log_subscriber.rb', line 23 def _extract_exception_backtrace(env) return unless env['action_dispatch.exception'] exception_wrapper = ActionDispatch::ExceptionWrapper.new(env, env['action_dispatch.exception']) data = { :error_backtrace => exception_wrapper.full_trace.join("\n") } Rails.logger.fields.reverse_merge!(data) end |
#process_action(event) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/rackstash/log_subscriber.rb', line 6 def process_action(event) return unless Rails.logger.respond_to?(:fields) && Rails.logger.fields payload = event.payload data = extract_request(payload) data.merge! extract_exception(payload) data.merge! runtimes(event) data.merge! location(event) Rails.logger.fields.reverse_merge!(data) Rails.logger.fields.merge! request_fields(payload) end |
#redirect_to(event) ⇒ Object
19 20 21 |
# File 'lib/rackstash/log_subscriber.rb', line 19 def redirect_to(event) Thread.current[:rackstash_location] = event.payload[:location] end |