2015-09-13 3 views
0

Я бы хотел, чтобы мой блок регистрации (который является оберткой вокруг log4net) работает правильно. Я испытываю проблемы с этим, как я получаю следующие ошибки, когда эта линия работает в единичном тестовом проекте:Испытание тестового модуля MS log4net

log4net.Config.XmlConfigurator.Configure(); 

Ошибки в окне вывода:

log4net:ERROR XmlHierarchyConfigurator: No appender named [TraceLogger] could be found. 
log4net:ERROR Appender named [TraceLogger] not found. 

Вот полный app.config в моем тестовом проекте блока:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" /> 
</configSections> 
<log4net> 
    <appender name="DatabaseCallAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value=".\\App_Data\\Logs" /> 
    <datePattern value=".yyyy-MM-dd'-Database.log'" /> 
    <appendToFile value="true" /> 
    <maximumFileSize value="256KB" /> 
    <maxSizeRollBackups value="2" /> 
    <rollingStyle value="Date" /> 
    <staticLogFileName value="false" /> 
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%level %thread %logger - %message%newline" /> 
    </layout> 
</appender> 
<appender name="TracingAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value=".\\App_Data\\Logs" /> 
    <datePattern value=".yyyy-MM-dd'-Tracing.log'" /> 
    <appendToFile value="true" /> 
    <maximumFileSize value="256KB" /> 
    <maxSizeRollBackups value="2" /> 
    <rollingStyle value="Date" /> 
    <staticLogFileName value="false" /> 
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%level %thread %logger - %message%newline" /> 
    </layout> 
</appender> 
<logger name="DatabaseCallsLogger"> 
    <level value="DEBUG" /> 
    <appender-ref ref="DatabaseCallAppender" /> 
</logger> 
<logger name="TraceLogger"> 
    <level value="DEBUG" /> 
    <appender-ref ref="TracingAppender" /> 
</logger> 
<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="TraceLogger" /> 
</root> 
</log4net> 

раздел конфигурации экс ctly так же, как и config в моем основном проекте, где класс logger работает так, как ожидалось. Я прочитал несколько потоков, предлагающих думать как runsettings и настраиваемые файлы конфигурации, но ни один из них не работает в моей ситуации. Предложения?

+4

Исключение говорит вам, что это неправильно - в Appender ссылка в вашем корневом элементе журнала должна быть TracingAppender, а не TraceLogger. –

+0

Это сработало, но это не объясняет, почему эта точно такая же конфигурация работает в другом проекте. На самом деле это не так важно, я приму свой ответ. – hbulens

ответ

1

Проблема заключается в вас Appender-исх, который должен указывать на Appender вместо регистратора:

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="TraceLogger" /> 
</root> 

Должно быть:

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="TracingAppender" /> 
</root> 
Смежные вопросы