You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (Updated) (JIRA)" <ji...@apache.org> on 2011/10/26 18:15:32 UTC

[jira] [Updated] (CXF-3878) org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper does not print the WebApplicationException stack trace even when log level is set to FINEST

     [ https://issues.apache.org/jira/browse/CXF-3878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp updated CXF-3878:
-----------------------------

    Fix Version/s: 2.3.8
    
> 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
>            Assignee: Daniel Kulp
>            Priority: Minor
>              Labels: log
>             Fix For: 2.3.8, 2.4.4
>
>   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