Marc Theisen created LOG4NET-524:
------------------------------------
Summary: OnlyOnceErrorHandler might cause StackOverflowError
Key: LOG4NET-524
URL: https://issues.apache.org/jira/browse/LOG4NET-524
Project: Log4net
Issue Type: Bug
Components: Core
Affects Versions: 1.2.15
Reporter: Marc Theisen
I am referring to the solution in
https://bz.apache.org/bugzilla/show_bug.cgi?id=42151.
I am suggesting another approach instead of placing a bad hack into
com.csfb.fao.carat.util.file.LoggingOutputStream.
Why not change the error() method of class OnlyOnceErrorHandler from
public void error(String message, Exception e, int errorCode, LoggingEvent
event) {
if (e instanceof InterruptedIOException || e instanceof InterruptedException)
{
Thread.currentThread().interrupt();
}
if(firstTime)
{
LogLog.error(message, e);
firstTime = false; // yikes, too late if stdout/stderr has been
} // redirected
}
to
public void error(String message, Exception e, int errorCode, LoggingEvent
event) {
if (e instanceof InterruptedIOException || e instanceof InterruptedException)
{
Thread.currentThread().interrupt();
}
if(firstTime)
{
firstTime = false;
LogLog.error(message, e);
}
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)