3

私のlog4j.xml構成は、

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >

<log4j:configuration>


    <appender name="fileAppender1" class="org.apache.log4j.RollingFileAppender">

        <param name="Threshold" value="ALL" />
        <param name="MaxFileSize" value="3KB" />
        <param name="MaxBackupIndex" value="10" />
        <param name="File" value="F:/logs/Testing/Project_moduleOne.log" />

        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{MMM-dd-yyyy HH:mm:ss:SSS} %-5p %m%n" />
        </layout>
    </appender>

    <appender name="fileAppender2" class="org.apache.log4j.RollingFileAppender">

        <param name="Threshold" value="ALL" />
        <param name="MaxFileSize" value="3KB" />
        <param name="MaxBackupIndex" value="10" />
        <param name="File" value="F:/logs/PAD_Testing/Project_moduleTwo.log" />


        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{MMM-dd-yyyy HH:mm:ss:SSS} %-5p %m%n" />
        </layout>
    </appender>


    <!--sets the priority log level for org.springframework -->
    <logger name="com.comp.logger1">
         <appender ref="fileAppender1"/>
    </logger>


    <logger name="com.comp.logger2">
        <appender ref="fileAppender2" />
    </logger>


    <!--sets the default priority log level -->
    <root>
        <priority value="all"></priority>
        <appender-ref ref="fileAppender1" />
        <appender-ref ref="fileAppender2" />
    </root>

</log4j:configuration>

また、指定した場所に 2 つのログ ファイルも作成されます。

クラス内でこれら 2 つの異なる log_files に 2 つの異なるデータを個別に記録する方法を知る必要がありますJAVA

例えば、

Logger logOne = Logger.getLogger("com.comp.logger1");
Logger logTwo = Logger.getLogger("com.comp.logger2");

上記のコードは私にとってはうまくいきません。すべてのログ情報は、作成された 2 つのログ ファイルの両方に記録されます。ロギング データの分離が必要です。

私の必要性は

  1. 2 つのログ ファイルを作成します。私のプロジェクトには 2 つのモジュールがあり、各モジュールを別々のログ ファイルに記録するためです。

  2. その後、各モジュールのログ データを個別に記録する必要があります。

  3. Java クラスに正しくログインするためのロガー名を使用したことを確認してください。

log4j.xml を使用した新しい例または完全な例は大歓迎です。

編集 :

ロガーにadditivity="false"を追加する と、

<logger name="com.comp.logger1" additivity="false">
     <appender ref="fileAppender1" /> 
</logger>


<logger name="com.comp.logger2" additivity="false">
    <appender ref="fileAppender2" />
</logger>

作成したログファイルにログデータが記録されていません。ログファイルが空でした。

私の<root>...</root>が正しいことを確認してください。

4

1 に答える 1