From 632938cfda8762a98a7c7a360a6f05c29d2cdb5e Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Sat, 23 Jan 2016 02:57:52 +0530 Subject: WIP: Errors in logs should show log tags as well. - Changed formatted_code_for to return array of logs to be tagged for each line - Changed some render tests to match new behaviour of return Fixes #22979 --- .../lib/action_dispatch/middleware/debug_exceptions.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'actionpack/lib/action_dispatch/middleware/debug_exceptions.rb') diff --git a/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb b/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb index b55c937e0c..daaaed8df5 100644 --- a/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb +++ b/actionpack/lib/action_dispatch/middleware/debug_exceptions.rb @@ -149,22 +149,26 @@ module ActionDispatch def log_error(request, wrapper) logger = logger(request) return unless logger - exception = wrapper.exception trace = wrapper.application_trace trace = wrapper.framework_trace if trace.empty? ActiveSupport::Deprecation.silence do - message = "\n#{exception.class} (#{exception.message}):\n" - message << exception.annoted_source_code.to_s if exception.respond_to?(:annoted_source_code) - message << " " << trace.join("\n ") - logger.fatal("#{message}\n\n") + logger.fatal " " + logger.fatal "#{exception.class} (#{exception.message}):" + log_array logger, exception.annoted_source_code if exception.respond_to?(:annoted_source_code) + logger.fatal " " + log_array logger, trace end end - def logger(request) - request.logger || stderr_logger + def log_array logger, array + array.map { |line| logger.fatal line} + end + + def logger request + request.logger || ActionView::Base.logger || stderr_logger end def stderr_logger -- cgit v1.2.3