Настройка Appenders - PullRequest
       1

Настройка Appenders

2 голосов
/ 16 сентября 2010

У меня следующая ситуация.
Есть 2 класса: ClassA, ClassB.Я хочу, чтобы они входили в разные файлы ClassA.log, ClassB.log.Для этого я использую RollingFileAppender.Как я могу написать это более коротким способом, чем следующий:

<appender name="RollingFileAppenderA" type="log4net.Appender.RollingFileAppender">
    <file value="ClassA.log" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="100KB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
</appender>

<appender name="RollingFileAppenderB" type="log4net.Appender.RollingFileAppender">
  <file value="ClassB.log" />
  <appendToFile value="true" />
  <rollingStyle value="Size" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="100KB" />
  <staticLogFileName value="true" />
  <layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  </layout>
</appender>

Как вы можете видеть, единственное, что отличает appenders - это имя файла, в котором они пишут логи.Итак, есть ли способ определить один RollingFileAppender для данной проблемы?

1 Ответ

0 голосов
/ 15 июня 2011

Я работал над несколькими проектами с несколькими файловыми аппендерами, настроенными так же, как у вас. Насколько мне известно, невозможно определить общую конфигурацию приложения , а затем поделиться ею с несколькими пользователями. Возможно, это как-то связано с тем, как log4net интерпретирует теги XML в свойствах приложений. (И я внимательно посмотрел на ForwardingAppender, но это не для этого).


Есть ли другая причина, кроме "не повторяйся" ( DRY ), что вы хотите очистить конфигурацию? Если ваш app.config (или web.config) выходит из-под контроля, вы можете использовать отдельный файл конфигурации.

...