2011-09-14 5 views
3

私はJettyでlogback-accessを使用しています。イメージ(* .jpg、* .gif)のHTTP要求がログに記録されることを除いて、正常に動作しています。ほとんどのアプリケーションサーバーは、ログを膨らませるため、これらのログレコードを抑制します。ログバックアクセスでのいくつかのリクエストのロギングを抑制する方法は?

古いJetty NCSARequestLogオブジェクトを使用していたときに、機能したsetIgnorePaths()メソッドがありましたが、logback RequestLogImplには同様のメソッドがありません。

おそらく、logback-access.xmlで何らかのフィルタを使用している可能性があります。誰かが適切な構文を持っていますか? .gif.jpgがあまりにも他のログメッセージに発生する可能性があるので、たぶん、あなたは、表現をカスタマイズする必要があり

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> 
     <evaluator> 
      <expression> 
      return formattedMessage.contains(".jpg") || 
       formattedMessage.contains(".gif"); 
      </expression> 
     </evaluator> 
     <onMatch>DENY</onMatch> 
    </filter> 
    ... 

:ここ

答えて

3

はシンプルEvaluatorFilterの構成、あなたのアペンダ内部のコピーです。

EvaluatorFilterは次の依存関係が必要です。あなたのpom.xmlにそれを置くか、Mavenを使用していない場合は、あなたのクラスパスに追加します。

<dependency> 
    <groupId>org.codehaus.janino</groupId> 
    <artifactId>janino</artifactId> 
    <version>2.5.16</version> 
</dependency> 

Further EvaluatorFilter documentation

関連する問題