簡體   English   中英

如何讓 log4j.properties 讀取環境變量

[英]How to have log4j.properties read env variables

這應該只是一個快速的問題。 我想知道這種語法是否正確。

里面log4j.properties

log4j.rootLogger=${ROOT_LOGGER:INFO}, console

所以我想要實現的是擁有一個 ROOT_LOGGER 環境變量,如果它不存在,則回退到INFO 我知道這適用於.yaml文件,所以只是想知道這里是否同樣適用。

很長一段時間,但我會把我找到的解決方案放在這里。

我們可以在屬性上添加變量,例如:

  • ${sys:some.property:-default_value}
  • ${env:ENV_NAME:-default_value}

build.gragle 依賴項

dependencies {

    implementation "org.apache.logging.log4j:log4j-api:2.14.1"
    implementation "org.apache.logging.log4j:log4j-core:2.14.1"

}

log4j2.properties


appender.consoledev.type=Console
appender.consoledev.name=CONSOLEDEV
appender.consoledev.layout.type=PatternLayout
appender.consoledev.layout.pattern=%d{HH:mm:ss.sss} %5p %20logger{36} : %msg%n

loggers=logapp
logger.logapp.name=${sys:logging.package:-com.test}
logger.logapp.level=${sys:logging.level:-DEBUG}
logger.logapp.additivity=false
logger.logapp.appenderRef.consoledev.ref=CONSOLEDEV

使用 args 運行 jar


java -jar -Dlogging.level=INFO -Dlogging.package=com.test.MainClass  test.jar

java -jar -Dlogging.level=INFO -Dlogging.package=com.test test.jar

java -jar -Dlogging.level=DEBUG -Dlogging.package=root  test.jar


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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