Merge pull request #2133 from jstorimer/ensure-status-codes-are-logged-properly
Ensure that status codes are logged properly
This commit is contained in:
commit
b475f74da5
@ -212,16 +212,16 @@ def self.without_modules(*modules)
|
||||
# also include them at the bottom.
|
||||
AbstractController::Callbacks,
|
||||
|
||||
# Append rescue at the bottom to wrap as much as possible.
|
||||
Rescue,
|
||||
|
||||
# Add instrumentations hooks at the bottom, to ensure they instrument
|
||||
# all the methods properly.
|
||||
Instrumentation,
|
||||
|
||||
# Params wrapper should come before instrumentation so they are
|
||||
# properly showed in logs
|
||||
ParamsWrapper,
|
||||
|
||||
# The same with rescue, append it at the end to wrap as much as possible.
|
||||
Rescue
|
||||
ParamsWrapper
|
||||
]
|
||||
|
||||
MODULES.each do |mod|
|
||||
|
@ -6,6 +6,13 @@ module Another
|
||||
class LogSubscribersController < ActionController::Base
|
||||
wrap_parameters :person, :include => :name, :format => :json
|
||||
|
||||
class SpecialException < Exception
|
||||
end
|
||||
|
||||
rescue_from SpecialException do
|
||||
head :status => 406
|
||||
end
|
||||
|
||||
def show
|
||||
render :nothing => true
|
||||
end
|
||||
@ -39,6 +46,10 @@ def with_exception
|
||||
raise Exception
|
||||
end
|
||||
|
||||
def with_rescued_exception
|
||||
raise SpecialException
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@ -195,6 +206,14 @@ def test_process_action_with_exception_includes_http_status_code
|
||||
assert_match(/Completed 500/, logs.last)
|
||||
end
|
||||
|
||||
def test_process_action_with_rescued_exception_includes_http_status_code
|
||||
get :with_rescued_exception
|
||||
wait
|
||||
|
||||
assert_equal 2, logs.size
|
||||
assert_match(/Completed 406/, logs.last)
|
||||
end
|
||||
|
||||
def logs
|
||||
@logs ||= @logger.logged(:info)
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user