Tam*_*ane 16 java spring logback spring-boot
我有一个示例Spring Boot应用程序,它使用Logback进行日志记录.所以我logback-spring.xml在jar旁边配置日志记录,但是除非我用它指定它,否则它不起作用logging.config,例如:logging.config=logback-spring.xml.
我特地到春季启动忽视的logback-spring.xml它表明,这可能是因为已经有一个spring.xml地方,但把断点org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(LoggingInitializationContext, LogFile)显示,日志文件是空的.
我在这里做错了吗?
Joh*_*anB 15
默认情况下,Spring 不会在jar文件之外查找资源.如果要使用外部logback配置文件,则必须在启动jar时传递它的位置:
$ java -jar -Dlogback.configurationFile=/full_path/logback.xml app.jar
Run Code Online (Sandbox Code Playgroud)
请不要将logback.xml包含到最终的Jar文件中,它会在类路径中导致多个logback.xml文件.
根据问题的描述,您正在使用日志配置的外部化版本。该文件保存在 jar 之外。因此,您必须将路径作为运行时参数提及,如下所示:
-Dlogging.config=file:logback-spring.xml
Run Code Online (Sandbox Code Playgroud)
或者在 application.properties 中提及相同的属性,如下所示:
logging.config=file:logback-spring.xml
Run Code Online (Sandbox Code Playgroud)
它从资源文件夹中提取文件的原因,因为它是在 spring 中配置的。Spring 从类路径中通过以下名称获取 logback 文件。
logback-spring.xml, logback-spring.groovy, logback.xml, or logback.groovy
Run Code Online (Sandbox Code Playgroud)
请查看spring-boot 自定义日志配置中的相关文档
| 归档时间: |
|
| 查看次数: |
9377 次 |
| 最近记录: |