我正在使用 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/