2

logback を拡張して、ERROR ログ レベルのログを内部ロギング サービスに送信したいと考えています (http ポストといくつかのカスタム パラメータを使用)。

これを行うには、カスタム ログバック フィルターを作成するのが最善の方法ですか? 私にとって「フィルター」という言葉は、「ログを除外する」という意味に聞こえます。

4

1 に答える 1

2

ThresholdFilter特定のアペンダーで指定されたログ レベル (またはそれ以上) のメッセージのみをログに記録する を使用できます。ThresholdFilterログ レベル ERRORを設定する方法の例を次に示します。周囲を使用してすべてのエラーメッセージをログに記録しますConsoleAppender:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- ... -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- log messages with ERROR (and above) only -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>

        <encoder>
            <pattern>%date{yyyy-MM-dd - HH:mm:ss} %-5level %logger{60} - %message%n</pattern>
        </encoder>
    </appender>
<!-- ... -->
</configuration>

そのため、sourroundingConsoleAppenderをアペンダーの実装に置き換える必要があります。これにより、HTTP Post を介してカスタム ログ サービスにログが記録されます。は、上記ThresholdFilterの例に示すように使用できます。

独自のアペンダーを実装する方法については、Amazon SimpleDB のカスタム アペンダーを実装するsimpledb-appenderプロジェクトを参照してください。

于 2013-05-28T09:33:08.287 に答える