GAE app.yaml: Как установить переменную env, содержащую точки?

Я проверяю управляемые виртуальные машины GAE, используя app.yaml, как описано здесь https://cloud.google.com/appengine/docs/managed-vms/java/configuring-your-app-with-app-yaml

Когда я делаю

env_variables:
  java.util.logging.config.file: 'WEB-INF/logging.properties'

Я получаю исключение

google.appengine.api.yaml_errors.EventError: Value 'java.util.logging.config.file' for key in EnvironmentVariables does not match expression '^(?:[a-zA-Z_][a-zA-Z0-9_]*)$'

Есть ли способ указать кастом logging.properties через app.yaml?

3 ответа

Для общедоступной гибкой среды используйте этот формат.

env_variables:
  JETTY_ARGS: -Djava.util.logging.config.file=WEB-INF/logging.properties

Смотрите здесь.

Другой ответ больше не верен. Имя свойства теперь называется JAVA_OPTS

Полные "секретные" имена переменных здесь https://github.com/GoogleCloudPlatform/jetty-runtime

Теперь это правильная настройка:

env_variables:
  JAVA_OPTS: -Djava.util.logging.config.file=webapps/root/WEB-INF/logging.properties

Попробуй это:

env_variables:
  JAVA_USER_OPTS: -Djava.util.logging.config.file=webapps/root/WEB-INF/logging.properties

env_variables раздел в app.yaml для установки переменных среды. Точки в их именах не допускаются, поэтому исключение имеет смысл.

Вы пытаетесь установить java.util.logging.config.file, который является системным свойством, а не переменной среды. Для его установки необходимо предоставить -Djava.util.logging.config.file=<value> аргумент при запуске Java. GAE Гибкое изображение обеспечивает JAVA_USER_OPTS Переменная окружения для настройки командной строки Java, так что вы можете использовать ее для настройки параметров JUL (как теперь также рекомендуется в файле readme).

Также, WEB-INF/logging.properties значение не работает для меня, так как текущий каталог $JETTY_BASEне $JETTY_BASE/webapps/root,

Другие вопросы по тегам