2013-08-14 2 views
2

В настоящее время у меня есть служба Windows, которая использует MassTransit. Эта служба Windows использует Log4Net для всех протоколирования, и теперь я хочу также включить Log4Net для внутреннего ведения журнала MassTransit. Но, я хочу:MassTransit - Используйте другой файл Log4Net для журналов MT

  • Записывать логи MT в другой файл, чем службы Windows регистрирует
  • Использовать одну (существующий) Log4Net конфигурационный файл для настройки обоих выходов

Я уже добавлен sbc.UseLog4Net() при инициализации шины, и это отлично работает. Но он записывается в тот же файл, что и мои журналы служб Windows.

Я понимаю, что могу позвонить sbc.UseLog4Net(@"log4net.config") с отдельным файлом, чтобы выполнить это.

Я действительно хочу, чтобы иметь возможность изменить текущий файл log4net.config, чтобы выполнить это.

ответ

2

Несомненно, это не слишком сложно. Настройте два приложения в конфигурации log4net.

<appender name="RollingFile1" type="log4net.Appender.FileAppender"> 
    <file value="log1.log" /> 
    <appendToFile value="false" /> 

    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%-5p %d{hh:mm:ss} %message%newline" /> 
    </layout> 
    </appender> 
    <appender name="RollingFile2" type="log4net.Appender.FileAppender"> 
    <file value="log2.log" /> 
    <appendToFile value="false" /> 

    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%-5p %d{hh:mm:ss} %message%newline" /> 
    </layout> 
    </appender> 

Затем просто установите два регистратора, по одному для каждого приложения.

<logger name="MassTransit"> 
    <level value="INFO" /> 
    <appender-ref ref="RollingFile1" /> 
</logger> 

<logger name="MyLogger"> 
    <level value="INFO" /> 
    <appender-ref ref="RollingFile2" /> 
</logger> 

Вы указываете каждый регистратор в нужном файле и называете его днем. Если у вас есть вопросы о том, как работает какой-либо из этих элементов, я попал в руководство: http://logging.apache.org/log4net/release/manual/configuration.html.

+0

Спасибо @Travis! Я могу быть толстым здесь, но как я могу указать логгер Log4Net, встроенный в MassTransit, чтобы использовать правильный файл? – MattW

+0

Я был глупым ... получил это сейчас. – MattW