google-app-engine - GAE 应用程序.yaml : How to set env variable that contains periods?

标签 google-app-engine yaml app-engine-flexible

我正在使用 app.yaml 检查 GAE 托管虚拟机,如此处所述 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_]*)$'

有没有办法通过app.yaml指定自定义logging.properties

最佳答案

试试这个:

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

env_variables app.yaml 中的部分用于设置环境变量。点是 not allowed在他们的名字中,所以异常(exception)是有道理的。

您正在尝试设置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 .

关于google-app-engine - GAE 应用程序.yaml : How to set env variable that contains periods?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35811771/

相关文章:

google-app-engine - 在没有 vm_settings 的谷歌云计算 node.js 应用程序的 app.yaml 中设置 f1-micro 资源限制

python - 在 doctest 中,有没有办法将 yaml 代码块视为变量?

Ansible 错误说明 : 'apt_repository' is not a valid attribute for a Play

python - 'yaml.parser.ParserError: expected ' <文档开始>', but found ' < block 映射开始>''是什么意思?

python - 导入错误 : No module named flask_restful

python - Google App Engine mail.Send 在 python2.7/smtplib.py 中返回 "TypeError: unhashable instance"

node.js - app.yaml 与 main.js 位于不同的目录中?

macos - 安装 Google Go 和 App Engine SDK 的正确方法是什么?

google-app-engine - 部署在 Google App Engine 上的应用程序的/healthz 路由返回 404

java - 谷歌应用引擎 TCP 连接失败