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

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

我在一台 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/.

答案1

log.dir 属性的值必须是您想要的日志的完整路径。

要从命令行启动,您可以执行以下操作:

export JVM_NAME="server1"; 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/$JVM_NAME -Djboss.server.log.dir=/data/logs/$JVM_NAME > /tmp/domain.out 2>&1 &

但是,为了自动启动多个服务器,请为每个服务器使用一个变量,这通常在每个实例的 EAP_HOME/bin/standalone.conf 或 EAP_HOME/bin/domain.conf 中完成。

JVM_NAME="server1"
JAVA_OPTS="$JAVA_OPTS -Djboss.domain.log.dir=/data/logs/$JVM_NAME -Djboss.server.log.dir=/data/logs/$JVM_NAME" 

我假设您为正在运行的两台服务器设置了单独的配置。

不确定您是否真的需要同时设置 domain.log.dir 和 server.log.dir,我假设在域模式下运行时使用 domain.log.dir。

相关内容