[英]How to have log4j.properties read env variables
這應該只是一個快速的問題。 我想知道這種語法是否正確。
里面log4j.properties
log4j.rootLogger=${ROOT_LOGGER:INFO}, console
所以我想要實現的是擁有一個 ROOT_LOGGER 環境變量,如果它不存在,則回退到INFO
。 我知道這適用於.yaml
文件,所以只是想知道這里是否同樣適用。
很長一段時間,但我會把我找到的解決方案放在這里。
我們可以在屬性上添加變量,例如:
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.