JBoss配置PeriodicRotatingFileHandler实现当前日志文件名带日期
解决JBoss中PeriodicRotatingFileHandler日志命名问题
问题描述
我们在JBoss应用中使用PeriodicRotatingFileHandler,期望当前活跃日志文件命名为server.{yyyy-MM-dd}.log。例如2022-12-01当天的日志目录结构应为:
server.2022-12-01.log <— 活跃/当前日志文件 server.2022-11-30.log <— 昨日日志文件 server.2022-11-29.log <— …
但目前实际的目录结构为:
server.log <— 活跃/当前日志文件 server.2022-11-30.log <— 昨日日志文件 server.2022-11-29.log <— …
修改方案
需要调整logging.properties中的3处配置,让当前活跃文件直接使用带日期的命名:
- 调整文件名基础路径,去掉
.log后缀,让后缀配置补充完整文件名 - 修改
suffix为包含.log的日期格式 - 添加
useCurrentTime=true配置,开启当前文件的日期命名逻辑
修改后的完整配置如下:
handler.FILE=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler handler.FILE.level=ALL handler.FILE.formatter=PATTERN handler.FILE.properties=append,autoFlush,enabled,suffix,fileName,useCurrentTime handler.FILE.constructorProperties=fileName,append handler.FILE.append=true handler.FILE.autoFlush=true handler.FILE.enabled=true handler.FILE.suffix=.yyyy-MM-dd.log handler.FILE.fileName=<dir left out>/server handler.FILE.useCurrentTime=true
配置说明
useCurrentTime=true:开启后,当前活跃日志文件会直接使用包含当前日期的命名,而非以无日期的文件作为活跃文件、旋转时再添加日期后缀- 调整后的
fileName与suffix组合后,当前文件会生成为server.2022-12-01.log,日志旋转时旧文件保留原日期命名,新活跃文件自动切换为对应新日期的文件名
内容的提问来源于stack exchange,提问作者Sebastian
相关产品推荐
相关产品推荐

