我正在为我的 SpringBoot 应用程序设置日志系统。但我经常遇到日志环境值'resources/logback.xml'无法打开并将被忽略
警告。
我的 application.properties
文件包含 logging.config=resources/logback.xml
并且我已经将我的 logback.xml
文件放在 资源
目录。我的SpringBoot版本是:1.1.4.RELEASE
我尝试过的:
我已经测试了绝对路径,问题仍然存在,所以我认为不是文件路径导致问题。
我已经更改了文件的权限,它是777,对所有人开放。因此权限不应该成为问题。
然后我检查了包含警告的 Java 文件:LoggingApplicationListener.java
代码如下:
// User specified configuration
if (environment.containsProperty("logging.config")) {
String value = environment.getProperty("logging.config");
try {
ResourceUtils.getURL(value).openStream().close();
system.initialize(value);
}
catch (Exception ex) {
// Swallow exception and continue
}
this.logger.warn("Logging environment value '" + value + "' cannot be opened and will be ignored");
}
从代码来看,这个警告是不可避免的?然而,配置初始化成功,尽管它说忽略了配置。
最佳答案
所以是的。首先,我不确定你为什么使用 1.1.4,但除此之外..这本质上是 1.1.4 中的一个错误。如果您迁移到 1.1.5,您会看到他们更新了代码..
try {
ResourceUtils.getURL(value).openStream().close();
system.initialize(value);
} catch (Exception var7) {
this.logger.warn("Logging environment value '" + value + "' cannot be opened and will be ignored");
}
另外,我相信正确的值是“classpath:logback.xml”。这是因为,尽管您可能在本地环境中运行,但您的文件实际上位于某些 src/main/java/resources 中,但在编译应用程序时,资源会移至类路径(或您的类所在的位置)。
关于java - Spring Boot - 日志记录环境值无法打开并将被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54660346/