3

ログバック構成ファイルには、機能する次のアペンダーがあります。

<appender name="thread_SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
    <discriminator class="[...]"/>
    <sift>
        <appender name="FILE-${threadName}" class="ch.qos.logback.core.FileAppender">
            <file>[...]/${bySecond}/${threadName}.log</file>
            <layout class="ch.qos.logback.classic.PatternLayout">
               <pattern>%date %level %logger{0} - %msg%n</pattern>
            </layout>
        </appender>
    </sift>
</appender>

ファイルは正しく作成されます。FileAppenderをRollingFileAppenderに置き換えると、何も作成されません。なんで?どうすればそれを機能させることができますか>

threadNameは、ディスクリミネーターによって設定されます。

4

4 に答える 4

4

OnConsoleStatusListenerはあなたの友達です。追加するだけ

<configuration>
  <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
  .. remainder of your config file
</configuration>

構成ファイルの先頭で、によって生成されたエラーを確認しますSiftingAppender

于 2011-01-17T16:36:32.263 に答える
2

プロパティ${bySecond}または他の誰かがsift > appenderタグ内で失われたようです。

ERROR in ch.qos.logback.core.joran.spi.Interpreter@23:97 - no applicable
action for [property], current pattern is [[configuration][appender][property]]
[...]/bySecond_IS_UNDEFINED/main.log
于 2012-02-10T19:24:55.480 に答える
0

パッケージ名に誤りがありました。タグシフトの下のエラーは黙って無視されているようです。テストするには、siftタグの外側にアペンダーをコピーし、エラーがないことを確認して、コピーして戻す必要があります。

于 2011-01-14T20:26:07.303 に答える
-1

私のコメントを補足するものとして、ファイルがふるいにかけるアペンダーでこのアペンダーを使用して正しく作成されていることを確認できます(RollingFileAppender構成に関するログバックチュートリアルから取得)。

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>test.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>tests.%i.log.zip</fileNamePattern>
      <minIndex>1</minIndex>
      <maxIndex>3</maxIndex>
    </rollingPolicy>

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>5MB</maxFileSize>
    </triggeringPolicy>

    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>
于 2011-01-14T19:43:33.927 に答える