在已安装的Artemis brokerlogging.properties
中,我包含了以下配置来设置日志旋转
# File handler configuration
handler.FILE=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
handler.FILE.level=DEBUG
handler.FILE.properties=suffix,append,autoFlush,fileName
# for log rotate
handler.FILE.suffix=.yyyy-MM-dd-HH-mm
handler.FILE.append=true
handler.FILE.autoFlush=true
handler.FILE.fileName=${artemis.instance}/log/artemis.log
handler.FILE.formatter=PATTERN
## Added for Log rotate
handler.FILE.rotate-size=25k
handler.FILE.max-backup-index=3
handler.FILE.rotate-on-boot=true
当我重新启动Artemis代理服务时,我注意到日志被旋转到青蒿.log. 20121-09-02-14
但是对于rotate-size
25k,文件没有被旋转。
下面是jboss的属性文档。
属性 | 数据类型 | 描述 |
---|---|---|
max-backup-index | Integer | 保留的大小轮换日志的最大数量。当达到这个数字时,重用最旧的日志。默认值:1。此设置仅适用于根据文件大小轮换的日志。注意,如果使用日期格式后缀旋转文件,则不会使用max-backup-index选项清除该文件。 |
rotate-size | String | 日志文件在被旋转之前可以达到的最大大小 |
你的配置有一些问题。
- 如果你想同时使用time &基于大小的旋转,你需要使用
org.jboss.logmanager.handlers.PeriodicSizeRotatingFileHandler
。当前您使用的org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
只会根据时间旋转。 - 你的旋转配置属性格式不正确。你使用
-
字符时,你应该使用骆驼的情况下,像其他属性。我相信这是因为您正在阅读JBoss EAP的文档,它的配置格式与ActiveMQ Artemis使用的基于属性的普通配置略有不同。 - 您没有为
FILE
handler
指定properties
配置中的旋转配置属性。 - 你正在使用的大小符号
k
,这是不支持在普通的基于属性的配置中使用ActiveMQ Artemis。
试着用这个代替:
handler.FILE=org.jboss.logmanager.handlers.PeriodicSizeRotatingFileHandler
handler.FILE.level=DEBUG
handler.FILE.properties=suffix,append,autoFlush,fileName,rotateSize,maxBackupIndex,rotateOnBoot
handler.FILE.suffix=.yyyy-MM-dd-HH-mm
handler.FILE.append=true
handler.FILE.autoFlush=true
handler.FILE.fileName=${artemis.instance}/log/artemis.log
handler.FILE.formatter=PATTERN
handler.FILE.rotateSize=25600
handler.FILE.maxBackupIndex=3
handler.FILE.rotateOnBoot=true