如何避免Spring Boot Logback在创建文件时出现快速失败?

Dan*_*iel 5 java logging startup logback spring-boot

启动时,Logback尝试创建/打开日志文件。但是,在当前Spring Boot的实现中,如果无法打开文件,则关闭应用程序。

SpringBoot的git所示,这似乎是故意行为。

我更希望要么默认使用Tomcat的日志,要么完全禁用日志,但允许我的应用程序继续运行。由于我们需要将其部署在各种环境中并缩短使用寿命,因此,我宁愿不必在要部署的每个实例上自定义日志路径。

不过,我在Spring Boot或Logback设置上都没有找到任何属性,可以让我这样做。

有什么办法可以绕过IllegalStateException

这是启动时引发的错误:

    java.lang.IllegalStateException: Logback configuration error detected: 
    ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE-MESSAGES-BODIES] - Failed to create parent directories for [C:\MY_PATH\file.log]
    ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE-MESSAGES-BODIES] - openFile(C:\MY_PATH\file.log,true) call failed. java.io.FileNotFoundException: C:\MY_PATH\file.log (The device is not ready)
    ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE-LOG] - Failed to create parent directories for [C:\MY_PATH\file.log]
Run Code Online (Sandbox Code Playgroud)

使用Spring Boot(v1.5.3)

And*_*son 5

文档中所述,您可以org.springframework.boot.logging.LoggingSystem使用值配置系统属性none以禁用 Spring Boot 的日志记录系统。然后您可以logback.xml像往常一样使用来配置日志记录,或者省略它以使用 Logback 的默认配置。