Java 如何在具有多种上下文的spring测试中处理记录器?

Java 如何在具有多种上下文的spring测试中处理记录器?,java,spring,spring-boot,logback,spring-logback,Java,Spring,Spring Boot,Logback,Spring Logback,Spring集成测试创建多个Spring上下文(每个配置一个),并缓存它们以备将来需要。但记录器(logback)配置是静态的。如果缓存了具有不同日志配置的上下文A和B,则会有混合上下文。在这个场景中,spring: 希望使用配置A运行测试 构建上下文A,根据上下文A初始化静态日志记录,并缓存上下文A 运行测试 想要使用配置B运行测试 构建上下文B,根据上下文B初始化静态日志记录,并缓存上下文B 运行测试 希望使用配置A运行测试 从缓存中获取上下文,无需再次构建它,也无需初始化静态日志记录 使用

Spring集成测试创建多个Spring上下文(每个配置一个),并缓存它们以备将来需要。但记录器(logback)配置是静态的。如果缓存了具有不同日志配置的上下文A和B,则会有混合上下文。在这个场景中,spring:

  • 希望使用配置A运行测试
  • 构建上下文A,根据上下文A初始化静态日志记录,并缓存上下文A
  • 运行测试
  • 想要使用配置B运行测试
  • 构建上下文B,根据上下文B初始化静态日志记录,并缓存上下文B
  • 运行测试
  • 希望使用配置A运行测试
  • 从缓存中获取上下文,无需再次构建它,也无需初始化静态日志记录
  • 使用上下文A和上下文B中的记录器配置运行测试
  • 对吗?如何避免混合记录器配置