0

私たちのプロジェクトには現在、メインのportal-log4j.xmlがあり、このプロジェクトではportal-log4j-ext.xmlを使用してそれをオーバーライドする必要があります portal-log4j.xml では、デフォルトですべてのロギングがコンソールに行われます。 .

    <root>
    <priority value="INFO" />
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
</root>

オーバーライドされた portal-log4j-ext.xml ファイルには、次のコードがあります。

<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
    <param name="maxFileSize" value="10000kb" />
    <param name="maxBackupIndex" value="20" />
    <param name="file" value="D:/myLogFile.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="&#37;d{ISO8601} &#37;-5p [&#37;C{1}] &#37;x: &#37;m&#37;n"/>
    </layout>
</appender>     

<logger name="com.company.layoutimporter">
    <level value="DEBUG" />
    <appender-ref ref="FILE" />
</logger>

ご覧のとおり、ファイルに書き込むことはできますが、コンソールにもログが記録されます。このデフォルトの動作をオーバーライドして、パッケージ固有のメッセージを特定のログ ファイルにのみ (コンソールには出力しないように) 記録するにはどうすればよいでしょうか。

前もって感謝します !

4

1 に答える 1

0

自分で解決策を見つけました..ロガータグに additivity="false" を追加するだけでした。

これにより、基本的に親タグによるロギングが再度スキップされます。

詳細 :加法性 - 何となぜ?

于 2012-03-29T12:35:24.433 に答える