Add shouldLog
to better control logging spam
#952
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, adding the
problem-spring-web
package will result in any exception that isn't explicitly handled to be logged in full (stack trace and all) and with no obvious way to stop it. While this may seem like a good idea, a common trope of handling expected errors is to throw aProblem
or aResponseStatusException
after some validation step. For example:Doing so while having
problem-spring-web
active will result in the hole stack-trace ofResponseStatusException
to be logged.This behaviour can be stopped by overriding the
log(...)
method inProblemHandling
but I'd argue that's not very obvious nor very clean. Thus, my proposed solution is adding ashouldLog(...)
function which can then be overriden.I chose to add the default behaviour of not logging
ResponseStatusException
orProblem
as I believe those are pretty commonly thrown in situations where having the whole stack-trace printed isn't needed. Though I can agree with the argument that this would be a backwards incompatible change and therefore don't feel very strongly about it. Let me know and I can remove it and leave the implementation asreturn true;
instead.Types of changes
Checklist: