У меня есть две JVM (server1 и server2), работающие на одной машине Linux. & Я хочу переместить журналы из каталога по умолчанию в пользовательский каталог для каждой 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/.
Значением свойств 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 используется при работе в режиме домена.