[ https://issues.apache.org/jira/browse/LOG4NET-524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marc Theisen updated LOG4NET-524: --------------------------------- Description: 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 {code} 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 } {code} to {code} 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); } } {code} was: 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); } } > 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 > {code} > 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 > } > {code} > to > {code} > 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); > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)