主题-rollingfileappender,以及如何压缩旋转的文件
rollingfileappender根据文件大小旋转日志文件。maxfilesize表示文件的最大大小,而maxbackupindex表示要保留在日志文件夹中的文件量。
下面给出了一个示例属性文件:
1 log4j.rootLogger=INFO, fileLogger
2 log4j.appender.fileLogger=org.apache.log4j.RollingFileAppender
3 log4j.appender.fileLogger.layout=org.apache.log4j.PatternLayout
4 log4j.appender.fileLogger.layout.ConversionPattern=%d [%t] %-5p (%F:%L) - %m%n
5 log4j.appender.fileLogger.File=example.log
6 log4j.appender.fileLogger.MaxFileSize=1KB
7 log4j.appender.fileLogger.MaxBackupIndex=5
基于该配置,我们可以假设日志将旋转,如下例所示
...Log.3
...Log.2
...Log.1
但它们没有拉链!
我的问题是——基于样本属性,我需要在样本中更改什么 log4j.properites
所以滚动的文件也会被压缩。
例如,我们配置了下面的log4j(根据malte的建议),但是旋转的文件没有压缩
注意-此log4j来自ambari的advanced hive-log4j
log4j.appender.DRFA=org.apache.log4j.RollingFileAppender
log4j.appender.DRFA.rollingPolicy.FileNamePattern=${hive.log.dir}/${hive.log.file}-.%i.log.zip
log4j.appender.DRFA.MaxBackupIndex=10
log4j.appender.DRFA.MaxFileSize=1KB
我们得到的日志文件示例(正如我们看到的,文件没有压缩)
-rw-r--r-- 1 hive hadoop 1055 Aug 15 16:00 hiveserver2.log.5
-rw-r--r-- 1 hive hadoop 1203 Aug 15 16:00 hiveserver2.log.4
-rw-r--r-- 1 hive hadoop 1098 Aug 15 16:00 hiveserver2.log.3
-rw-r--r-- 1 hive hadoop 1028 Aug 15 16:00 hiveserver2.log.2
-rw-r--r-- 1 hive hadoop 1239 Aug 15 16:00 hiveserver2.log.1
-rw-r--r-- 1 hive hadoop 0 Aug 15 16:00 hiveserver2.log
-rw-r--r-- 1 hive hadoop 1065 Aug 15 16:00 hivemetastore.log.4
-rw-r--r-- 1 hive hadoop 1098 Aug 15 16:01 hivemetastore.log.3
-rw-r--r-- 1 hive hadoop 1120 Aug 15 16:01 hivemetastore.log.2
-rw-r--r-- 1 hive hadoop 1098 Aug 15 16:01 hivemetastore.log.1
-rw-r--r-- 1 hive hadoop 470 Aug 15 16:01 hivemetastore.log
2条答案
按热度按时间t8e9dugd1#
正确的配置应如下所示(已测试和验证)
/var/log/hive下的示例
7gyucuyw2#
您应该通过使用文件结尾来实现压缩文件
.zip
惯例。看到了吗https://logging.apache.org/log4j/2.x/manual/appenders.html#rolloverstrategies 更多的压缩方案。或者如果你不想要一个日期,只想要一个编号的日志: