logback-spring.xml不能处理多个概要文件

wxclj1h5  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(439)

我有多个配置文件在 Spring 启动应用程序,并试图使用3个不同的附录。
控制台附加器
控制台gva附加器
文件目的地
当我用“local”配置文件运行这个测试时,它同时使用“file”和“console”appender。我希望它应该使用唯一的文件追加器

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
  4. <include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
  5. <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
  6. <springProperty scope="context" name="maskedProperty" source="gva.logs.masked.property"/>
  7. <springProfile name="!vsi, gva-gaia, !local">
  8. <appender name="CONSOLE-GVA" class="ch.qos.logback.core.ConsoleAppender">
  9. <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
  10. <layout class="com.batch.logger.MaskingPatternLayout">
  11. <pattern>${CONSOLE_LOG_PATTERN}</pattern>
  12. <patternsProperty>${maskedProperty}</patternsProperty>
  13. </layout>
  14. </encoder>
  15. </appender>
  16. <root level="INFO">
  17. <appender-ref ref="CONSOLE-GVA"/>
  18. </root>
  19. </springProfile>
  20. <springProfile name="!vsi,!gva-gaia,!local">
  21. <root level="INFO">
  22. <appender-ref ref="CONSOLE"/>
  23. </root>
  24. </springProfile>
  25. <springProfile name="vsi,local">
  26. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  27. <file>${LOG_PATH}/${LOG_FILE}</file>
  28. <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
  29. <layout class="com.batch.logger.MaskingPatternLayout">
  30. <pattern>${FILE_LOG_PATTERN}</pattern>
  31. <patternsProperty>${maskedProperty}</patternsProperty>
  32. </layout>
  33. </encoder>
  34. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  35. <fileNamePattern>${LOG_PATH}/batch.%d{yyyy-MM-dd}.log</fileNamePattern>
  36. <maxHistory>14</maxHistory>
  37. </rollingPolicy>
  38. </appender>
  39. <root level="INFO">
  40. <appender-ref ref="FILE"/>
  41. </root>
  42. </springProfile>
aydmsdu9

aydmsdu91#

如果profilenames列表大小大于1,则只要有匹配项就表示成功。本地开发人员匹配!vsi公司。org.springframework.boot.logging.logback.springprofileaction#acceptsprofiles(解释上下文ic,属性)

  1. <springProfile name="!local">
  2. <root level="INFO">
  3. <appender-ref ref="CONSOLE"/>
  4. </root>
  5. </springProfile>

相关问题