如何修改WildFly 9的server.log文件日志记录时区?
WildFly 9日志时区调整方案
WildFly默认不会自动继承CentOS系统的时区配置,需手动指定日志使用的时区,可通过以下两种方式实现:
方法1:修改JVM启动参数(全局生效,推荐)
该方式会修改WildFly运行时全部Java进程的默认时区,适配大多数场景:
- 进入WildFly安装目录的
bin文件夹,找到对应运行模式的配置文件:- 单机运行模式:修改
standalone.conf - 集群域模式:修改
domain.conf
- 单机运行模式:修改
- 在文件的
JAVA_OPTS配置段追加以下参数:JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Europe/Athens" - 保存文件后重启WildFly服务即可生效。
方法2:仅修改日志输出时区
如果不想改变应用其他业务逻辑的时区,仅调整日志打印的时间,可修改日志子系统配置:
- 进入WildFly安装目录的配置文件夹,打开对应配置文件:
- 单机运行模式:打开
standalone/configuration/standalone.xml - 集群域模式:打开
domain/configuration/domain.xml
- 单机运行模式:打开
- 找到
logging子系统下对应server.log的periodic-rotating-file-handler节点,在pattern-formatter标签中添加timezone属性,修改后示例如下:<subsystem xmlns="urn:jboss:domain:logging:3.0"> <!-- 其他日志配置 --> <periodic-rotating-file-handler name="FILE" autoflush="true"> <formatter> <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n" timezone="Europe/Athens"/> </formatter> <file relative-to="jboss.server.log.dir" path="server.log"/> <suffix value=".yyyy-MM-dd"/> <append value="true"/> </periodic-rotating-file-handler> <!-- 其他日志配置 --> </subsystem> - 保存配置后重启WildFly服务即可。
验证
重启完成后查看server.log的最新时间戳,与系统当前时间对比确认一致即可。
内容的提问来源于stack exchange,提问作者Stavros Kouris
相关产品推荐
相关产品推荐

