春季应用大战-谷歌应用引擎-如何指定日志位置、配置文件、环境变量;les



我有一个绑定为war文件的spring-boot应用程序,能够推送到应用程序引擎

但我在启动应用程序时遇到了问题(我怀疑DB也可能有问题……但不记得我在哪里看到了……一场噩梦(

java.lang.RuntimeException:java.lang.IollegalStateException:Logback检测到配置错误:错误ch.qos.logback.core.rolling.RollingFileAppender[FILE]-未能为创建父目录[/base/data/home/apps/e~pemy/20210716t001812.43658163072799646/logs/pynew.log]ch.qos.logback.core.rolling.RollingFileAppender[FILE]中存在错误-openFile(logs/pynew.log,true(调用失败。java.io.FileNotFoundException:logs/pynew.log(没有这样的文件或目录(

我在我的应用程序道具中使用以下属性

> logging.file.path=logs
> logging.file.name=${logging.file.path}/pynew.log

我发现很难包含谷歌特定的依赖项和属性,而且把我的项目搞得一团糟。。。创建app.yaml,web inf>gt;appengine web xml,logging.properties(不确定原因,但按照教程中的说明添加(

问题:如何创建父目录或云存储文件夹链接等

我还想指定一个配置文件,我看到我可以在yaml文件中完成。这只是吗

env_variables:
JAVA_USER_OPTS: '-Dspring.profiles.active=prod'

但我想知道如何连接到云SQL

spring.datasource.url=jdbc:mysql:///mydb?cloudSqlInstance=myapp:europe-west2:dBinstancename&socketFactory=com.google.cloud.sql.mysql.SocketFactory
spring.datasource.username=${dbuser}
spring.datasource.password=ENC(${dbencpwd})
spring.cloud.gcp.sql.database-name=mydb
spring.cloud.gcp.sql.instance-connection-name=myapp:europe-west2:dBinstancename

这太令人困惑了,以至于我一直忘记哪个连接需要密码,哪个不需要。并不断破坏我的本地

问题假设我需要提供凭据,我如何提供-${dbuser}

我在logback-spring.xml for all my development中使用了默认的弹簧记录器,但这在AppEngine 上不起作用

所以我跟着https://cloud.google.com/logging/docs/setup/java并添加了CCD_ 2和依赖

implementation 'com.google.cloud:google-cloud-logging-logback:0.121.3-alpha'

最新更新