我想要的是:就像Glassfish 3服务器日志一样,如果日志文件传递一定的文件大小(如2MB),日志文件会自动压缩自己,这样日志文件就不会变得太大。我不确定这是通过log
api还是cron
api完成的。是否可以使用log4j
获取我上面描述的内容,或者这里涉及某种类型的cron
进程?这是我的log4j
log4j.rootLogger=DEBUG, LOG , stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d{d/MM/yy HH:mm:ss}:%m%n
# log4j.appender.LOG.Threshold=INFO
log4j.appender.LOG=org.apache.log4j.RollingFileAppender
log4j.appender.LOG.File=C:\\dev\\harry\\data\\logs\\core.log
log4j.appender.LOG.layout=org.apache.log4j.PatternLayout
log4j.appender.LOG.Append=true
log4j.appender.LOG.layout.ConversionPattern=%5p %d{d/MM/yy HH:mm:ss}:%m%n
# log4j.appender.LOG.Threshold=INFO
答案 0 :(得分:2)
在log4j extras项目log4j extras project中,可以使用许多有用的appender。特别是使用RollingFileAppender配置的TimeBasedRollingPolicy可以自动压缩滚动文件。我不知道SizeBasedTriggeringPolicy是否也这样做,而且文档很简陋。
我认为构建一个自定义的RollingPolicy是SizeBased并压缩输出很容易,因为Log4j extras项目中存在所有成分(甚至压缩文件)。它基本上与TimeBased策略的代码相同,实现isTriggeringEvent
方法与SizeBased策略相同。
或类似的东西。
答案 1 :(得分:1)
基本上为了克服日志文件的大小限制,我们习惯于创建appender 如果大小限制超出最大大小,则记录日志文件 请查看以下文章Rolling file appenders