[英]Spring Boot: How to use custom logback.xml depending on current environment or spring profile
我已經閱讀了以下兩個來源:
spring-boot logback.xml屬性,具體取決於配置文件
我正在嘗試執行以下操作:
當我使用特定的Spring活動配置文件( gradlew bootRun -Dspring.profiles.active=sst
,我們用於單個服務測試)運行Spring Boot應用程序時,我需要應用程序使用特定的日志記錄配置(假設具有特定的日志級別或使用我們可以捕獲測試輸出的日志記錄)。
我們確實配置了一個自定義的application-sst.properties
文件,並且該文件已被拾取並且可以正常工作。
有沒有辦法讓我為logback.xml做類似的事情 - 例如添加logback-sst.xml
以便在SST上下文中使用?
一些建議:
如果您只需要一些特殊的測試配置,那么有一個簡單的解決方案:將logback-test.xml
放在src/test/resources
,你就可以了。
Logback支持彈簧配置文件的概念,允許在同一文件中放置不同配置文件的配置:
例:
<?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>
在這里您可以找到相關的教程
在命名配置文件“ logback-spring.xml ”而不是“logback.xml”時,Spring只會在您的logback配置中獲取配置文件信息。
在配置文件中,您可以像以下示例一樣使用您的配置文件:
<springProfile name="sst">
<appender-ref ref="JSON_STDOUT"/>
...
</springProfile>
您甚至可以對您的個人資料使用否定:
<springProfile name="!prod">
<appender-ref ref="JSON_STDOUT"/>
...
</springProfile>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.