Log4j2用于指定格式的滚动文件的配置

时间:2015-01-07 06:42:12

标签: logging log4j2

我想在配置下面配置log4j2.xml。如果我的日志文件大小增加超过5 MB,它应该在第二天创建新的Files.and所有文件将被压缩并以日期格式存储到zip中。     例如     for 01-06-2015 applog.log 2 MB,         01-06-2015 applog.log.1 3 MB,         01-06-2015 applog.log.2 3 MB,         01-06-2015 applog.log.3 3 MB     在01-0702015,它应该被压缩并存储到文件夹applog-%d {dd-MM} - %i.zip     我目前的配置如下:

<appenders>   
   <RollingFile name="applog_Appender" fileName="D:/logs/applog.log"
                 filePattern="D:/logs/$${date:yyyy-MM}/app-%d{dd-MM-yyyy}-%i.zip">                       
             <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="3 MB"/>
            </Policies>
       <DefaultRolloverStrategy max="15" />       
    </RollingFile>              
  </appenders>

使用此配置,它将仅使用applog.log创建zip。我希望压缩一天的applog.log .... applog.log.n并创建zip

1 个答案:

答案 0 :(得分:3)

Log4j2无法在翻转时压缩多个文件。当前翻转逻辑只是重命名当前日志文件并可选地将其翻录。就是这样。您可能需要创建自定义脚本以将多个旧日志文件合并到一个存档中。

更新:Log4j 2.5引入了在翻转时执行自定义操作的功能。目前DeleteAction是唯一的内置操作,但您可以创建自己的自定义操作来压缩多个文件。