我在同一个maven项目中有两个应用程序,并通过在调用SpringApplication.run()之前为每个应用程序设置spring.config.name
属性为每个应用程序提供了自己的配置文件。
在第一个应用程序中,我将spring.config.name
设置为server1
,因此它会查找server1
而不是application.yml
。在第二部分中,我将spring.config.name
设置为server2
。
但是我希望他们共享相同的日志配置。遗憾的是,由于在读取属性源之前已经配置了日志记录,因此无法通过@PropertySource导入日志记录配置 - 请参阅Spring Boot手册的Logging section。
我有什么方法可以做到这一点吗?
答案 0 :(得分:1)
Spring Boot用作默认的Logback。您可以在src / main / resources中放置logback.xml文件来配置日志。两个应用程序都将自动使用此文件来配置其日志记录引擎。
您可以在此处了解如何配置Logback:http://logback.qos.ch/manual/configuration.html
一个简单的例子。它会将日志级别设置为INFO并登录到控制台:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>