sonarqube Замена переменной для аргументов JVM

Попытка добавить следующую опцию в sonar.properties

sonar.web.javaOpts=-Xmx1g -Xms1g -XX:MaxPermSize=160m -XX:+PrintCommandLineFlags -Djava.net.preferIPv4Stack=true \
 -Xloggc:"/data/sonarqube/logs/gc-$(date +%Y-%m-%d_%H%M).log" -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 \
 -XX:GCLogFileSize=10M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/sonarqube/logs

Но сонаркуб не запускается со следующим сообщением

Ошибка: не удалось найти или загрузить основной класс +%Y-%m-%d_%H%M).log

Не знаете, как сделать оценку, кто-нибудь может помочь?

Спасибо, Рави.


person RA123    schedule 11.03.2016    source источник


Ответы (1)


Подстановка переменных скрипта $(date...) не поддерживается, так как это свойство не читается/не выполняется оболочкой.

В любом случае, я не думаю, что это правильный способ чередования журналов GC, поскольку имя файла будет разрешено только один раз при запуске приложения. -Xloggc:/data/sonarqube/logs/gc.log достаточно. Индекс вращения автоматически добавляется к имени файла (например, gc.log.0). См. https://stackoverflow.com/a/12277309/229031 и http://bugs.java.com/view_bug.do?bug_id=6941923 для получения более подробной информации.

person Simon Brandhof - SonarSource    schedule 14.03.2016
comment
Это правильно, но после создания gc.log.0 он продолжает перезаписываться при перезапуске экземпляра. Любое предложение о том, как заставить его писать в gc.log.1? - person RA123; 17.03.2016
comment
К сожалению, нет, у меня нет никаких предложений. - person Simon Brandhof - SonarSource; 21.03.2016