You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by bu...@apache.org on 2002/07/26 01:12:44 UTC

DO NOT REPLY [Bug 11186] New: - DefaultRenderer.doRender() does not handle NullPointerException in .toString()

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=11186>.
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=11186

DefaultRenderer.doRender() does not handle NullPointerException in <logged object>.toString()

           Summary: DefaultRenderer.doRender() does not handle
                    NullPointerException in <logged object>.toString()
           Product: Log4j
           Version: 1.1
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Minor
          Priority: Other
         Component: Other
        AssignedTo: log4j-dev@jakarta.apache.org
        ReportedBy: aaron.knauf@vodafone.co.nz


Here is a stack trace from a call to Category.error() in Log4J 1.1.3.  As you 
can see, if the logged object's toString method throws a runtime exception, it 
is not caught by Log4J and causes a crash.

I understand that it is part of Log4J's contract that a logging call will 
*never* throw an exception, therefore this is a log4j bug.  (I am also aware 
that toString() should not throw stupid exceptions like this, but that is 
another story.)

java.lang.NullPointerException
	at 
nz.co.vodafone.vfnzframework.common.logging.MultiPartLogContentHolder.toString
(MultiPartLogContentHolder.java:72)
	at org.apache.log4j.or.DefaultRenderer.doRender(DefaultRenderer.java:26)
	at org.apache.log4j.or.RendererMap.findAndRender(RendererMap.java:39)
	at org.apache.log4j.spi.LoggingEvent.getRenderedMessage
(LoggingEvent.java:172)
	at org.apache.log4j.helpers.PatternParser$BasicPatternConverter.convert
(PatternParser.java:393)
	at org.apache.log4j.helpers.PatternConverter.format
(PatternConverter.java:56)
	at org.apache.log4j.PatternLayout.format(PatternLayout.java:547)
	at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:295)
	at org.apache.log4j.WriterAppender.append(WriterAppender.java:157)
	at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
	at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders
(AppenderAttachableImpl.java:57)
	at org.apache.log4j.Category.callAppenders(Category.java:255)
	at org.apache.log4j.Category.forcedLog(Category.java:445)
	at org.apache.log4j.Category.error(Category.java:380)
	at nz.co.vodafone.vfnzframework.common.logging.Log4JLogMgr.error
(Log4JLogMgr.java:30)

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>