Когда я запускаю некоторые интеграционные тесты через NUnit, все работает, включая ведение журнала. Когда я запускаю любой тест во второй раз , исключение не выдается, но регистрация перестает работать. Вместо этого log4net записывает это в консоль:
log4net:ERROR [TextWriterAppender] Attempted to append to closed appender named [].
Вот конфигурация log4net:
<log4net debug="true" >
<appender name="console"
type="log4net.Appender.ConsoleAppender, log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern"
value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<root>
<priority value="DEBUG" />
<appender-ref ref="console" />
</root>
<logger name="NHibernate">
<level value="WARN" />
</logger>
<logger name="NHibernate.SQL" >
<level value="DEBUG" />
</logger>
</log4net>
Код установки находится в статическом конструкторе в SUT:
log4net.Config.XmlConfigurator.Configure();
Мне удалось получить ту же ошибку с множеством других настроек приложения. Что вызывает эту ошибку? Я хочу знать, в чем причина, поэтому я знаю, как это исправить, а также как воспроизвести это в производственном сценарии (если это возможно), чтобы я мог предотвратить его появление в рабочем коде.
Я использую NHibernate 2.0.1.GA и прилагаемую к нему версию log4net (1.2.10.0).