DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22831>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22831

when service implementation throws an exception and Log4j is used with debug enabled 
log file is corrupted.

           Summary: when service implementation throws an exception and
                    Log4j is used with debug enabled log file is corrupted.
           Product: Axis
           Version: 1.1
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Basic Architecture
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Axis 1.1 and java full version "1.4.2-b28"

Log4j is configured with XMLLayout and Debug level. test case could be as simple as
 
        public String[] getItems() throws RemoteException {
        similar logger.info("Entering getItems.");
                throw new RemoteException( "test");
                //return itemList;
        }


it turned out that logging could not be used recursively for log4j, however when
AxisFault is logged format method in log4j is used recursively to trace how
logging is done. Commons Logging maps trace to log4j debug so recursion happens
with debug enabled. it looks that recursion is only one level deep. 

i have checked this with cvs version of log4j 1.3 and in log4j 1.3 there is a
check if the call is recursive, and if it is recursive - do nothing. when i run
Axis with log4j 1.3 the recursive logs were ignored, there were no corrupted
messages anymore but some messages were lost.

temporary workaround is to use different appender for
org.apache.axis.EXCEPTIONS; i have posted message on axis-user list with a
sample log4.properties file.

oleg

Reply via email to