8

「デバッグ」および「情報」の出力をコンソールに書き込むことは可能ですが、「情報」の出力は一部のログ ファイルにのみ書き込まれますか? たとえば、次のロギングがあるとします。

LOG.debug(fileContent);
LOG.info(fileLength);

対応するものはどのlog4j.xmlように見えますか?

4

5 に答える 5

11

わかりました、私は今それを手に入れました:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        ...
    </appender>

    <appender name="otherAppender"
              class="org.apache.log4j.FileAppender FileAppender">
       <param name="Threshold" value="INFO"/>
        ...
    </appender>

    <root>
        <priority     value="debug" />
        <appender-ref ref="console" />
        <appender-ref ref="otherAppender" />
    </root>
</log4j:configuration>

ご協力いただきありがとうございます!

于 2009-04-16T06:30:11.110 に答える
5

それは間違いなく可能です。構成は次のようになります (構文の正確性はチェックされていません)。

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        ...
    </appender>

    <appender name="otherAppender"
              class="org.apache.log4j.FileAppender FileAppender">
        ...
    </appender>

    <logger name="com.mycompany.mypackage.MyClass">
        <level        value="info"/>
        <appender-ref ref="otherAppender" />
    </logger>

    <root>
        <priority     value="debug" />
        <appender-ref ref="console" />
    </root>
</log4j:configuration>

すべてのデバッグおよび情報メッセージはconsoleアペンダーに送られます。情報メッセージは に送信されotherAppenderます。

于 2009-04-15T12:29:50.270 に答える
1

いくつかの例については、このページにアクセスしてください。

プログラムに 2 つの異なるアペンダーを追加するのと同じくらい簡単です。実行するログの種類ごとに 1 つのアペンダーを追加します。

于 2009-04-15T12:31:44.197 に答える
0

rwwilden の提案どおりに実行しますが、次の部分を削除します。

<logger name="com.mycompany.mypackage.MyClass">
    <level value="info"/>
    <appender-ref ref="otherAppender" />
</logger>

そして<param name="Threshold" value="INFO"/>、otherAppender の下に追加します。

于 2009-04-16T05:46:38.000 に答える
0

Eddie の構成では、MyClass の「情報」出力しか取得できません。しかし、私が望むのは、MyClass の「情報」出力がファイルに出力され、MyClass の「デバッグ」出力がコンソールに出力されることです。

于 2009-04-16T05:28:54.270 に答える