我想在配置下面配置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
答案 0 :(得分:3)
Log4j2无法在翻转时压缩多个文件。当前翻转逻辑只是重命名当前日志文件并可选地将其翻录。就是这样。您可能需要创建自定义脚本以将多个旧日志文件合并到一个存档中。
更新:Log4j 2.5引入了在翻转时执行自定义操作的功能。目前DeleteAction是唯一的内置操作,但您可以创建自己的自定义操作来压缩多个文件。