[ https://issues.apache.org/jira/browse/CXF-3878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13135412#comment-13135412 ]
Daniel Kulp commented on CXF-3878: ---------------------------------- Actually, the printStackTrace stuff is kind of crappy as that would just print to stderr and not into the logs at all. I've done: {code} Message msg = PhaseInterceptorChain.getCurrentMessage(); FaultListener flogger = null; if (msg != null) { flogger = (FaultListener)PhaseInterceptorChain.getCurrentMessage() .getContextualProperty(FaultListener.class.getName()); } if (flogger != null) { flogger.faultOccurred(ex, message, msg); } else if (LOG.isLoggable(Level.FINE)) { LOG.log(Level.FINE, message, ex); } {code} Which accomplishes two things: 1) If a FaultListener is registered (example: on the bus), the Exception will feed into there and the listener can do whatever it wants. 2) Otherwise, log the full exception at FINE level. > 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.3.7, 2.4.3 > Environment: Windows 7 64-bit, JDK 1.7.0 > Reporter: Kartik Pandya > Priority: Minor > Labels: log > Original Estimate: 1h > Remaining Estimate: 1h > > 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