在我的 Spring Boot 配置文件中,我可以指定相对于 Spring Boot jar 的日志文件位置,而不是相对于启动 jar 的目录吗?
例子:
#application.yml
logging:
file: ./logs/app.log
目录:
/app/dir/app.jar
/随机/目录
开始:
cd /random/dir
java -jar /app/dir/app.jar
结果:
/random/dir/logs/app.log
期望:
/app/dir/logs/app.log
附加信息:jar 将在不同的操作系统上运行。所以 jar 路径可能类似于:
/app/dir/app.jar
C:\app\dir\app.jar
在运行时,我可以计算出 jar/install 目录是什么。是否有 Java 解决方案允许我在启动后设置 logging.file 位置?或者当时记录器是否已经初始化?
完整的解决方案:基于@satyesht
#application.yml
app:
log:
#Set a default directory in case a user "double clicks" the jar to launch it.
dir: ./logs
file: app.log
logging:
file: ${app.log.dir}/${app.log.file}
开始:
cd /random/dir
java -Dapp.log.dir=/app/dir/logs -jar /app/dir/app.jar
噜噜哒
扬帆大鱼
相关分类