2017-01-04 17 views
0

私は以下のログ設定をしています。部分的な.gzファイルは、log4j2によって書かれました

<RollingRandomAccessFile name="RollingReqAppender" 
     fileName="/usr/test/req.log" 
     filePattern="/usr/test/req.log.%d{yyyy-MM-dd-HH}.%i.gz" 
     immediateFlush="true" append="true"> 
     <PatternLayout> 
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS Z}%m%n</Pattern> 
     </PatternLayout> 
     <Policies> 
      <SizeBasedTriggeringPolicy size="500 MB"/> 
      <TimeBasedTriggeringPolicy interval="1" modulate="true" /> 
     </Policies> 
    </RollingRandomAccessFile> 

ログが(時間またはサイズに基づいて)ロールオーバーされると、gzippedされます。ファイルの圧縮には時間がかかります(負荷に応じて数秒から数分)。問題は、ファイルがgzipされ、gzipされている間に、部分的にgzipされたファイルが最終的なgzipファイルと同じ名前の同じフォルダに保存されることです。例:/usr/test/req.log.2017-01-03-02.1.gz

これは、部分ファイルの処理を試みるファイルのコンシューマに問題を引き起こします。部分的なgzipファイルと完成したgzipファイルを区別できるようにしたい。どのようにすることができ

/usr/test/req.log.2017-01-03-02.1.gz /usr/test/req.log.2017-01-03-02.1.temp.gz、それは完全にgzip圧縮された後の名前は、最終的な名前に変更されます。たとえば、私は、セットアップファイルがgzipされている間、それは別の名前などで書かれているという設定をしたいと思いますこれを達成するには?

答えて

1

Log4j2は現在、あなたのように動作しません。したがって、これを実現させる設定はありません。

Log4j2 JIRAの問題追跡ツールで機能リクエストを発行してください。これを達成する最速の方法は、単体テストのパッチを提供することです。

関連する問題