org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper does not print the
WebApplicationException stack trace even when log level is set to FINEST
---------------------------------------------------------------------------------------------------------------------------------------------------
Key: CXF-3878
URL: https://issues.apache.org/jira/browse/CXF-3878
Project: CXF
Issue Type: Bug
Components: JAX-RS
Affects Versions: 2.4.3, 2.3.7
Environment: Windows 7 64-bit, JDK 1.7.0
Reporter: Kartik Pandya
Priority: Minor
WebApplicationException occurring as a result of a JAXB mapping (an internal
NullPointerException caused it), never got printed on the console or in the
logs. The following message did get printed:
WARNING WebApplicationException has been caught, cause:
java.lang.NullPointerException
But beyond this, no other information was available. Debugging revealed that
the problem was in JAXB mapping in one of my classes, but it would have been
very helpful if the exception trace is printed in the logs or on the console.
The problem remained even after setting the log levels in logging.properties to
FINEST. Other FINEST logs did get printed fine, except for the stack trace of
the exception. My research showed that the setPrintStackTrace(boolean) method
of WebApplicationExceptionMapper never gets called from anywhere. This will
mean that the printStackTrace variable of the class always remains false,
resulting in eternal shadowing of the stack trace.
I made a small change to my local copy of
org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper Java file and patched
it to cxf-2.4.3.jar to get the stack trace in my logs when log level was set to
INFO or lower. The three line change is as below:
public Response toResponse(WebApplicationException ex) {
+ if(LOG.isLoggable(Level.INFO)) {
+ printStackTrace = true;
+ }
...
(lines with + are added lines)
It would be great if you can make this change in subsequent versions.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira