brm*_*c72 34 java spring logback spring-boot
我有一个使用Logback的Spring Boot控制台应用程序.所有属性(对于应用程序以及对于Logback)都被外部化到类路径中的标准application.properties文件中.这些属性在应用程序本身中很好地被选中,但是在logback.xml文件中没有被选中.看起来好像在Spring Boot启动之前处理了logback.xml,因此不会处理EL占位符.
使用FileNamePattern作为示例,在application.properties中,我有这样的事情:
log.filePattern=/%d{yyyy/MM-MMMM/dd-EEEE}
在logback.xml中,我会这样:
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <FileNamePattern>${log.logDirectory}${log.filePattern}.log
    </FileNamePattern>
</rollingPolicy>
运行应用程序时,我会看到以下错误:
ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:25 - 
RuntimeException in Action for tag [rollingPolicy]
java.lang.IllegalStateException: FileNamePattern
[log.logDirectory_IS_UNDEFINEDlog.filePattern_IS_UNDEFINED.log]
does not contain a valid DateToken
类似的代码在其他Spring(而不是Spring Boot)应用程序中运行得很好,所以我很好奇Spring Boot的行为有点不同.
感谢@Gary的回复!很高兴知道Spring EL和Logback变量之间的区别......我原以为是Spring负责为我解析这些变量.我确实有元素,但这让我思考.
我的application.properties文件在jar之外,所以Logback不知道在哪里找到它.通过保持我的春节,相关的属性在我的外部application.properties文件,移动日志相关的属性为application-internal.properties文件(位于里面的罐子),并指向的logback到该文件(<property resource="application-internal.properties" />)得到的一切工作正常!
Las*_*e L 56
从Spring Boot 1.3开始,您可以更好地将spring属性添加到logback-spring.xml配置中:
现在你可以添加一个"springProperty"元素.
<springProperty name="destination" source="my.loggger.extradest"/>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${destination}</file>
        ...
    </file>
</appender>
https://github.com/spring-projects/spring-boot/commit/055ace37f006120b0006956b03c7f358d5f3729f
编辑:感谢Anders
.........
Gar*_*ell 36
${...}春天不是"春天的EL"; 他们是财产占位符.
我认为你把logback"变量"与Spring"Property Placeholders"混淆了.
他们碰巧使用相同的语法${...}.
logback对Spring属性占位符机制一无所知,反之亦然.您需要根据logback文档配置您的logback变量,而不是application.properties//application.yml严格来说是Spring(boot)概念.
编辑:
快速查看logback文档后,添加
<property resource="application.properties" />
对logback.xml应工作.
小智 8
如上所述,您可以使用<springProperty>元素访问spring引导属性...但要记住的是,必须命名logback配置文件logback-spring.xml,如果命名文件logback.xml(我正在使用spring-boot 1.3.5.RELEASE)它不起作用
| 归档时间: | 
 | 
| 查看次数: | 26023 次 | 
| 最近记录: |