我有一个示例Spring Boot应用程序,该应用程序使用Logback进行日志记录。
因此,我在jar旁边有logback-spring.xml来配置日志记录,但是除非我用logging.config(例如:logging.config=logback-spring.xml)指定它,否则它不起作用。

我研究了Spring Boot ignoring logback-spring.xml,它暗示可能是因为某处已经有一个spring.xml,但是在org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(LoggingInitializationContext, LogFile)上放置断点表明logFile为空。

我在这里做错什么了吗?

最佳答案

默认情况下,Spring将而不是在jar文件之外寻找资源。
如果要使用外部登录配置文件,则在启动jar时必须传递其位置:

$ java -jar -Dlogback.configurationFile=/full_path/logback.xml app.jar

请不要将logback.xml包含在最终的Jar文件中,这将导致在类路径中出现多个logback.xml文件。

07-24 09:43
查看更多