0

私のアプリケーションの logback.xml には、以下のように定義された AsyncAppender があります。

<appender name="socketAppender" class="ch.qos.logback.classic.net.SocketAppender">
    <param name="RemoteHost" value="127.0.0.1" />
    <param name="Port" value="15000" />
    <param name="ReconnectionDelay" value="10" />
    <param name="Threshold" value="DEBUG" />
</appender>
<appender name="appLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/myApp.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>logs/myApp.%d{yyyyMMdd.HH}00.log</fileNamePattern>
    </rollingPolicy>
    <encoder>
        <charset>UTF-8</charset>
        <pattern>[%d{yyyy/MM/dd HH:mm:ss.SSS}][%p][%c{0}] %m%n]</pattern>
    </encoder>
</appender>
<appender name="AsyncLog" class="ch.qos.logback.classic.AsyncAppender">
    <appender-ref ref="appLog" />
    <appender-ref ref="socketAppender" />
</appender>

Windows 10 の Tomcat で戦争を展開すると。

  1. ポート 15000 でリッスンしているログ サーバーがログを受信して​​いませんでした。
  2. そのため、以下のように socketAppender を最初の位置に移動しました。
<appender name="AsyncLog" class="ch.qos.logback.classic.AsyncAppender">
    <appender-ref ref="socketAppender" />
    <appender-ref ref="appLog" />
</appender>

この変更により、ログサーバーはログの受信を開始しましたが、ログファイルは書き込み/追加を停止しました. 3) また、アペンダーで queueSize および DiscardingThreshold プロパティを設定しようとしましたが、役に立ちませんでした。

<discardingThreshold>0</discardingThreshold>
<queueSize>500</queueSize>

ログバックの専門家は、私がここで間違っていることを教えてもらえますか? この動作を修正するのに役立つ可能性のある AsyncAppender の他のプロパティはありますか?

4

1 に答える 1