簡體   English   中英

如何從 spring application.yml 讀取屬性並將其用於我的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM