You could leave the internal logs on for a while to try and capture the error again or you could write your own IErrorHandler and send an email when an error occurs:
public class EmailOnlyOnceErrorHandler : OnlyOnceErrorHandler { public new void Error(string message, Exception e, ErrorCode errorCode) { base.Error(message, e, errorCode); // TODO: send mail } } Any appender that extends AppenderSkeleton (most of the built-in appenders including FileAppender) has an ErrorHandler property that you can set in the config file: <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <errorHandler value="Company.Logging.EmailOnlyOnceErrorHandler, Company.Logging" /> <!-- snip --> </appender> Maybe there are issues with ASP.Net spawning a new AppDomain for the application before the old AppDomain has released the exclusive lock on the file. ----- Original Message ---- From: Seth Milder <[EMAIL PROTECTED]> To: log4net-user@logging.apache.org Sent: Thursday, May 15, 2008 12:34:06 PM Subject: log4net stops logging for apparently no reason Hi, I was very happy with log4net. Kudos to the developers. However, one day, it inexplicably and silently stopped logging. We are using log4net for our internal SharePoint applications, in case this makes any difference. Here are the relevant parts of my web. config (this has changed a bit since I've been mucking about with it): <configuration> <configSections> ... <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false" /> </configSections> ... <log4net> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <param name="File" value="C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS\apps.log" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="LogFileAppender" /> </root> </log4net> </configuration> I turned on internal logging and I get this: log4net: DefaultRepositorySelector: Assembly [XXX.YYY.ZZZ, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx] using repository [log4net-default-repository] and repository type [log4net.Repository.Hierarchy.Hierarchy] log4net: DefaultRepositorySelector: repository [log4net-default-repository] already exists, using repository type [log4net.Repository.Hierarchy.Hierarchy] log4net: DefaultRepositorySelector: Creating repository for assembly [AAA.BBB.CCC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx] log4net: DefaultRepositorySelector: Assembly [AAA.BBB.CCC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx] Loaded From [Global Assembly Cache] log4net: DefaultRepositorySelector: Assembly [AAA.BBB.CCC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx] does not have a RepositoryAttribute specified. log4net: DefaultRepositorySelector: Assembly [AAA.BBB.CCC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx] using repository [log4net-default-repository] and repository type [log4net.Repository.Hierarchy.Hierarchy] Now another server has suffered the same fate and I am getting desperate. Can anyone help? I've googled this to no avail. Thanks for any available guidance! Best, Seth Milder -- Seth Milder AIM: sdmilder Have something to hide? http://securepastebin.com