2

私はまだこれを完全に解決していません.コンソール出力に DEBUG を設定し、FileAppender に INFO を設定するにはどうすればよいですか? つまり、以下の構成をどのように変更して、ConsoleAppender が DEBUG からすべてのログを上に送り出すことができるようにしますか? 両方のアペンダーがすべてのロギングをカバーする必要があることに注意してください (つまり、1 つのロガー名だけのログ レベルを変更するスコープ付きロガー要素を使用したくありません)。

  <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>
4

1 に答える 1

11

この構成を試してください:

<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 (つまり、情報なし、警告...) メッセージのみを表示したい場合は、コンソール アペンダーもフィルタリングする必要があります。
于 2010-03-31T05:36:08.907 に答える