[英]Spring Boot 2.1.2 : How to pass values from application.properties to log4j2.xml?
[英]How can I read properties from spring application.yml and use it in my log4j2.xml
我在 application.yml 中定義了屬性,並想在我的 log4j2.xml 文件中使用它們。
**application.properties**
logging:
levels:
com.mypackage: INFO
appenders:
name: rollingfile
我嘗試了以下方法但沒有奏效
<Properties>
<Property name="log-pattern">%d{ISO8601} %-5level {%thread} [%-40.40logger{39}] request_id=%X{requestId} %m%n</Property>
<Property name="logging-level">${bundle:application:logging.levels.com.mypackage}</Property>
</Properties>
<Loggers>
<Logger name="com.service" level="${logging-level}" includeLocation="true" additivity="false">
<AppenderRef ref="${logging.appenders.name}"/>
</Logger>
<Loggers>
請幫助我解決閱讀價值。我無法獲得任何可行的解決方案。
如果您使用的是 Spring 引導,您可以使用 Log4j 的 Spring 雲配置客戶端 jar 提供 Z38008EC81C2CEAFD1DE1 查找。 然后你可以編碼:
<Properties>
<Property name="log-pattern">%d{ISO8601} %-5level {%thread} [%-40.40logger{39}] request_id=%X{requestId} %m%n</Property>
<Property name="logging-level">${spring:logging.levels.com.mypackage}</Property>
</Properties>
<Loggers>
<Logger name="com.service" level="${logging-level}" includeLocation="true" additivity="false">
<AppenderRef ref="${spring:logging.appenders.name}"/>
</Logger>
<Loggers>
但是,Spring 查找僅在 Spring 初始化其環境后才能工作。 Spring 引導至少初始化日志記錄 3 次,第一次是在 Spring 執行任何操作之前。 對於這種情況,您需要為初始啟動提供默認值或不同的配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.