「デバッグ」および「情報」の出力をコンソールに書き込むことは可能ですが、「情報」の出力は一部のログ ファイルにのみ書き込まれますか? たとえば、次のロギングがあるとします。
LOG.debug(fileContent);
LOG.info(fileLength);
対応するものはどのlog4j.xml
ように見えますか?
「デバッグ」および「情報」の出力をコンソールに書き込むことは可能ですが、「情報」の出力は一部のログ ファイルにのみ書き込まれますか? たとえば、次のロギングがあるとします。
LOG.debug(fileContent);
LOG.info(fileLength);
対応するものはどのlog4j.xml
ように見えますか?
わかりました、私は今それを手に入れました:
<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>
ご協力いただきありがとうございます!
それは間違いなく可能です。構成は次のようになります (構文の正確性はチェックされていません)。
<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
ます。
いくつかの例については、このページにアクセスしてください。
プログラムに 2 つの異なるアペンダーを追加するのと同じくらい簡単です。実行するログの種類ごとに 1 つのアペンダーを追加します。
rwwilden の提案どおりに実行しますが、次の部分を削除します。
<logger name="com.mycompany.mypackage.MyClass">
<level value="info"/>
<appender-ref ref="otherAppender" />
</logger>
そして<param name="Threshold" value="INFO"/>
、otherAppender の下に追加します。
Eddie の構成では、MyClass の「情報」出力しか取得できません。しかし、私が望むのは、MyClass の「情報」出力がファイルに出力され、MyClass の「デバッグ」出力がコンソールに出力されることです。