我有两台运行在一台Linux机器上的JVM(server1和server2)。 &我想将日志从默认目录移动到每个JVM的自定义目录。
就像是 –
/data/logs/$JVM_NAME/
所以最后的日志到达目录等等
/data/logs/server1/ & /data/logs/server2/
我了解到jboss.server.log.dirvariables可以在服务器启动参数中设置。 然后我尝试了下面的启动命令。
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/ 。
但是我不确定如何在这些参数中添加一个variables来为这台机器上的每个JVM添加一个带有JVM名称的子目录。 所以日志被写入/data/logs/$JVM_NAME/.
log.dir属性的值必须是所需日志的完整path。
从命令行开始,你可以这样做:
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 &
但是,由于有多个服务器自动启动,每个服务器都使用一个variables,所以通常在每个实例的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"
我假设在这里你有两个你正在运行的服务器设置单独的configuration。
不知道你是否真的需要设置domain.log.dir和server.log.dir,我假设domain.log.dir是在域模式下运行时使用的。