如何更改路径中包含服务器名称的 JBoss EAP 6.4 服务器日志目录?

How to change JBoss EAP 6.4 server log directory with server name in path?

我在一台 Linux 机器上有两个 JVM(server1 和 server2)运行。 & 我想将日志从默认目录移动到每个 JVM 的自定义目录。

类似 -

/data/logs/$JVM_NAME/

这样最终的日志就会进入诸如

之类的目录
/data/logs/server1/
&
/data/logs/server2/

我了解到 jboss.server.log.dir 变量可以在服务器启动参数中设置。然后我尝试了以下启动命令。

nohup sh /appl/isaac/jboss/jboss-eap-6.4/bin/domain.sh -b some.server.domain.com -bmanagement some.server.domain.com -Djboss.domain.log.dir=/data/logs -Djboss.server.log.dir=/data/logs/ > /tmp/domain.out 2>&1 &

这工作正常。并且日志正在 /data/logs/.

中写入

但我不确定如何在这些参数中添加一个变量来为这台机器上的每个 JVM 添加一个带有 JVM 名称的子目录。这样日志就会写入 /data/logs/$JVM_NAME/.

这是在 WildFly 9 中修复的 issue

如果您不介意多一个目录,您可以将它们放入 /data/logs/servers/server1/data/logs/servers/server2 等目录中。为此,您只需更改主机上的 directory-grouping 属性。

/host=master:write-attribute(name=directory-grouping, value=by-type)

然后就像在命令中一样传递系统属性。你应该得到类似下面的结果。

├── host-controller.log
├── process-controller.log
└── servers
    ├── server-one
    │   └── server.log
    └── server-two
        └── server.log