java - Spring Boot : How to use custom logback. xml 取决于当前环境或 spring 配置文件

标签 java spring spring-boot logging

我已阅读以下两个来源:

https://examples.javacodegeeks.com/enterprise-java/spring/load-environment-configurations-and-properties-with-spring-example/

spring-boot logback.xml property depending on profile

我正在尝试执行以下操作:

当我使用特定的 spring Activity 配置文件(gradlew bootRun -Dspring.profiles.active=sst,我们用于单一服务测试)运行我的 Spring Boot 应用程序时,我需要应用程序使用特定的日志记录配置(假设使用特定的日志级别或使用我们可以从测试中捕获输出的日志记录)。

我们确实配置了一个自定义的 application-sst.properties 文件,并且可以正常工作。

有没有办法让我对 logback.xml 执行类似的操作 - 例如添加 logback-sst.xml 以便在 SST 上下文中使用它?

最佳答案

一些建议:

  1. 如果你只需要一些特殊的测试配置,有一个简单的解决方案:将 logback-test.xml 放在 src/test/resources 中,然后你可以开始了。

  2. Logback 支持 spring 配置文件的概念,允许将不同配置文件的配置放在同一文件中:

例子:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

<springProfile name="dev">
   <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
   ... 
  </appender>

  <root level="DEBUG">
    <appender-ref ref="CONSOLE"/>
  </root>
</springProfile>

<springProfile name="staging">
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
     ...
    </appender>

    <root level="DEBUG">
      <appender-ref ref="CONSOLE"/>
    </root>
</springProfile>

</configuration>

Here你可以找到相关的教程

关于java - Spring Boot : How to use custom logback. xml 取决于当前环境或 spring 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57904603/

相关文章:

java - Spring 安全 : java. sql.SQLException : Column Index out of range, 3 > 2

java - 如何在没有确认的情况下消费 100 条消息,然后工作然后确认它们?

java - Spring post Rest无法解析对象中的对象

java - 使用 @Value 访问 Spring Boot Actuator build.version 属性

java - Spring-Boot 无法启动嵌入式 Tomcat

Java 旋转文本具有颠倒的字符序列

java - 如何创建 20 个固定长度的随机字节

将 Spring Boot Starter Web 依赖项与 Mongo Driver 3.11.0 一起使用时出现 java.lang.NoSuchMethodError

java - 如何检查以 foo 或 bar 开头的行?

java - 使用hibernate读取300万条记录