[ https://issues.apache.org/jira/browse/LOG4NET-283?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefan Bodewig resolved LOG4NET-283. ------------------------------------ Resolution: Fixed Fix Version/s: (was: 1.2 Maintenance Release) 1.2.12 svn revision 1211480 introduces a virtual FirstError method. > OnlyOnceErrorHandler is not subclass-friendly > --------------------------------------------- > > Key: LOG4NET-283 > URL: https://issues.apache.org/jira/browse/LOG4NET-283 > Project: Log4net > Issue Type: Improvement > Components: Core > Affects Versions: 1.2.10 > Environment: Windows 7, IIS 7, .Net 3.5, C# > Reporter: Randar Puust > Fix For: 1.2.12 > > > If you ever try to use the ErrorHandler attribute with a custom error > handler, it won't write out the messages. For example: > <appender name="Database_Appender" type="log4net.Appender.AdoNetAppender"> > <errorHandler type="CHO.Next.Global.LogWriterErrorHandler, > CHO.Next.Global" /> > Where the class is defined as: > public class LogWriterErrorHandler : OnlyOnceErrorHandler > { > > public new void Error(string message) > { > Error(message, null); > } > public new void Error(string message, Exception e) > { > Error(message, e, ErrorCode.GenericFailure); > } > public new void Error(string message, Exception e, ErrorCode > errorCode) > { > // write to a file here > } > } > > This was specified as a fix on a few posts like this > http://www.mail-archive.com/log4net-user@logging.apache.org/msg04378.html and > there hasn't been anything to correct it. > The reason this won't work is that Error is not virtual. Although the > LogWriterErrorHandler is instantiated and the constructor is called, when the > appender makes a call to this.ErrorHandler.Error, it calls the base class of > OnlyOnceErrorHandler and not LogWriterErrorHandler. > I would recommend you make the Error methods in AppenderSkeleton virtual so > that they can be overriden. Otherwise, what is the value of even having the > ErrorHandler attribute available on the appender? -- 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