在两个应用程序之间共享Spring Boot YAML配置

时间:2015-07-05 14:42:10

标签: java logging properties spring-boot yaml

我在同一个maven项目中有两个应用程序,并通过在调用SpringApplication.run()之前为每个应用程序设置spring.config.name属性为每个应用程序提供了自己的配置文件。

在第一个应用程序中,我将spring.config.name设置为server1,因此它会查找server1而不是application.yml。在第二部分中,我将spring.config.name设置为server2

但是我希望他们共享相同的日志配置。遗憾的是,由于在读取属性源之前已经配置了日志记录,因此无法通过@PropertySource导入日志记录配置 - 请参阅Spring Boot手册的Logging section

我有什么方法可以做到这一点吗?

1 个答案:

答案 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>