0

logback 構成ファイルに次の RollingFileappender があります。

<appender name="RollingFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <File>C:\Files\MyLogFile.log</File>      
  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
    <FileNamePattern>C:\Files\MyLogFile.%d{yyyy-MM-dd}.log</FileNamePattern>       
    <MaxHistory>30</MaxHistory>     
  </rollingPolicy>      
  <encoder>
    <pattern>%date %level [%thread] %logger{60} [%file:%line] %msg%n</pattern>
  </encoder> 
</appender>

MyLogFile.log に書き込みますが、FileNamePattern で指定された日付を追加しません。

似たような質問がありますが、私の混乱には決して答えませんでした。

ファイル プロパティは省略します。 ローリングファイルアクティビティを無効にしているように見えるため、 file-property が役立つのはなぜですか。

これは私を混乱させます。何か間違っていますか?

4

1 に答える 1

2

このfileプロパティをfileNamePattern1 つに沿って使用すると、ACTIVE ファイルの名前が定義され、アーカイブされたファイルのみがそのパターンを名前として持ちます。アクティブなファイルがロールされると、新しいアーカイブ ファイルがその名前で作成されます。マニュアルの第4章から:

RollingFileAppender (TimeBasedRollingPolicy の親) のファイル プロパティは、設定または省略できることに注意してください。含まれている FileAppender のファイル プロパティを設定することにより、アクティブなログ ファイルの場所とアーカイブされたログ ファイルの場所を切り離すことができます。現在のログは常に、file プロパティで指定されたファイルを対象としています。したがって、現在アクティブなログ ファイルの名前は時間の経過とともに変化しません。ただし、ファイル プロパティを省略することを選択した場合、アクティブなファイルは、fileNamePattern の値に基づいて期間ごとに新たに計算されます。

したがって、たとえば、アクティブなファイルをプログラムで送信する必要があり、現在の日付のファイル名を推測したくない場合など、固定の名前が必要な場合に便利です。

fileが通常の から継承されたプロパティであることにも注意してFileAppenderください。

于 2013-10-30T14:55:49.840 に答える