Как установить DEBUG для вывода в консоль и INFO для FileAppender?

Я еще не совсем проработал этот вопрос - как мне установить DEBUG для вывода в консоль и INFO для моего FileAppender? То есть, как мне изменить конфигурацию ниже, чтобы я мог заставить ConsoleAppender откачивать все журналы из DEBUG вверх? Обратите внимание, что оба приложения должны охватывать все ведение журнала (т.е. я не хочу использовать элемент регистратора с заданной областью действия, который изменяет уровень журнала только для одного имени регистратора).

  <log4net>

    <root>
      <level value="INFO" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
      <param name="File" value="log-file.txt" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]\r\n"/>
        <param name="Footer" value="[Footer]\r\n"/>
        <param name="ConversionPattern"
           value="%d [%t] %-5p %c [%x] - %m%n"
        />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="WARN" />
      </filter>
    </appender>

    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>

  </log4net>

person Greg    schedule 30.03.2010    source источник


Ответы (1)


Попробуйте эту конфигурацию:

<log4net>

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

  <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
    <param name="File" value="log-file.txt" />
    <param name="AppendToFile" value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="Header" value="[Header]\r\n"/>
      <param name="Footer" value="[Footer]\r\n"/>
      <param name="ConversionPattern"
        value="%d [%t] %-5p %c [%x] - %m%n"
      />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="INFO" />
      <param name="LevelMax" value="FATAL" />
    </filter>
  </appender>

  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    </layout>
  </appender>

</log4net>

Примечание:

  • Я установил уровень May для приложения для файлов на Fatal, чтобы ошибки также записывались в ваш файл. Если это не то, что вы хотите, вы можете легко вернуть его обратно.
  • Если вы хотите, чтобы в консоли были только сообщения DEBUG (т.е. без информации, предупреждения ...), вам также необходимо отфильтровать консольный аппендер.
person Stefan Egli    schedule 31.03.2010