8

特定の単語を含むステートメントのみをコンソールに表示することは可能ですか?

式の場合:

   logger.debug ( "java: hello " );
   logger.debug ( "groovy: hello " );
   logger.debug ( "ruby: hello " );

ここで、何らかの構成などを行うことにより、groovy:で始まるすべてのステートメントが表示されます。

4

5 に答える 5

8

apacheロギングの「extras」パッケージの一部であるlog4jStringMatchFilterを使用したいとします。

これがオンラインで見つけた簡単な例です:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="CustomAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="custom.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="5000KB"/>
    <param name="maxBackupIndex" value="5"/> 
          <layout class="org.apache.log4j.PatternLayout">
                  <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n" />
          </layout>

          <filter class="org.apache.log4j.varia.StringMatchFilter">
                  <param name="StringToMatch" value="Here is DEBUG" />
                  <param name="AcceptOnMatch" value="true" />
          </filter>

          <filter class="org.apache.log4j.varia.DenyAllFilter"/>
  </appender>

  <root>
    <appender-ref ref="CustomAppender"/>
  </root>
</log4j:configuration>
于 2009-05-01T08:06:02.910 に答える
0

税関レベルを作成するのはどうですか

public class Groovy extends Level

次に、ログプロパティファイルで、これらのレベルを構成として設定します

これがお役に立てば幸いです、デビッド。

于 2009-05-01T08:03:38.063 に答える
0

さまざまなロガーを使用できます(たとえば、「java」メッセージ用のロガーと「groovy」メッセージ用のロガー)。Log4J構成は、ロガーごとに異なるレベルで設定できます。

あなたはここでもっと読むことができます

于 2009-05-01T08:03:58.903 に答える
0

ツールを使用してメッセージを除外することができます。Windowsの場合、BareTailを使用してこれを行うことができます。メッセージのフィルタリングは、プロ(有料)バージョンでのみ可能です。おそらく、同じ仕事をする他のツールがあります。

于 2009-05-01T08:07:51.453 に答える
0

SLF4Jマーカーはおそらくあなたの目的に適しています。デバッグや情報などのすべての印刷方法org.slf4j.Logger は、最初のパラメータとしてマーカーを許可します。さらに、ネイティブのSLF4J実装であるlogback-classicには、MarkerFilterあなたが望むことを実行すると思うと呼ばれるフィルターが付属しています。

于 2009-05-29T13:57:17.823 に答える