class CustomRequestLogger::LogSubscriber
Constants
- INTERNAL_PARAMS
Public Instance Methods
process_action(event)
click to toggle source
# File lib/pineapples/templates/lib/logging/custom_request_logger.rb, line 17 def process_action(event) indent = 8 payload = event.payload param_method = payload[:params]['_method'] status = compute_status(payload) path = payload[:path] params = payload[:params].except(*INTERNAL_PARAMS) redirect_to = Thread.current[:redirect_to] Thread.current[:redirect_to] = nil message = "Status: #{status} for \"#{path}\" \n" message << "Redirect URL: #{redirect_to} \n" if redirect_to message << "Params: #{format_data(params, indent)} \n" if params.present? info(message) end
redirect_to(event)
click to toggle source
# File lib/pineapples/templates/lib/logging/custom_request_logger.rb, line 35 def redirect_to(event) Thread.current[:redirect_to] = event.payload[:location] end
start_processing(event)
click to toggle source
# File lib/pineapples/templates/lib/logging/custom_request_logger.rb, line 7 def start_processing(event) payload = event.payload params = payload[:params].except(*INTERNAL_PARAMS) format = payload[:format] format = format.to_s.upcase if format.is_a?(Symbol) info "Action: #{payload[:controller]}##{payload[:action]} \nFormat: #{format}" #logger.info "Parameters: #{params.inspect}" unless params.empty? end
Private Instance Methods
compute_status(payload)
click to toggle source
# File lib/pineapples/templates/lib/logging/custom_request_logger.rb, line 40 def compute_status(payload) status = payload[:status] if status.nil? && payload[:exception].present? exception_class_name = payload[:exception].first status = ActionDispatch::ExceptionWrapper.status_code_for_exception(exception_class_name) end status end