[ 
https://issues.apache.org/jira/browse/CXF-3878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13135421#comment-13135421
 ] 

Sergey Beryozkin commented on CXF-3878:
---------------------------------------

Hi Dan - thanks for the fix - that printing to the stderr was messy - Glen 
asked me to remove that awhile back but somehow I forgot.
JAXBProviders would LOG the captured trace but NPE is escaping that...

I'll probably create some exception utils later on and push this common code 
there

cheers
                
> 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

        

Reply via email to