Log4net случайно останавливает запись

В журнале событий для моего сервиса появляется следующее сообщение:

Exception: System.NullReferenceException

Message: Object reference not set to an instance of an object.

StackTrace:
   at log4net.Appender.RollingFileAppender.AdjustFileBeforeAppend() in C:\Projects\Framework\log4net-1.2.11\src\Appender\RollingFileAppender.cs:line 609
   at log4net.Appender.RollingFileAppender.Append(LoggingEvent loggingEvent) in C:\Projects\Framework\log4net-1.2.11\src\Appender\RollingFileAppender.cs:line 562
   at LSports.Common.Logger.Appenders.AsynchronousFileAppender.LogMessages() in d:\tfsV3\Dev\Common\Logger\LSports.Common.Logger\Appenders\AsynchronousFileAppender .cs:line 63
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Я использую log4net в большем количестве проектов в системе, кроме веб-сервиса, и он тоже там случайно застревает.

Я посмотрел в исходном файле log4net, где происходит исключение, и это происходит, когда он пытается выполнить прокрутку файла

    if (m_rollSize) 
        {
            /* this line*/ if ((File != null) && ((CountingQuietTextWriter)QuietWriter).Count >= m_maxFileSize) 
            {
                RollOverSize();
            }
        }

Что может быть причиной этого? это просто происходит совершенно случайно

1 ответ

Решение

После долгих поисков я, наконец, обнаружил проблему, log4net фактически зависает, потому что он пытается распечатать ошибку на консоль, а мое приложение скрыто, поэтому оно не может распечатать на консоль и просто останавливает поток, который вызвал log4net.

Другие вопросы по тегам