問題描述
application.properties 中的外部 log4j2.xml 文件路徑 (External log4j2.xml file path in application.properties)
我在我的項目中使用 log4j2,我已經外部化了 application.properties 和 log4j2.xml,我想在 application.properties 中提供 log4j2.xml 文件路徑
log4j2.xml 和 application.properties與 jar 位於同一目錄中的 config 文件夾中。
這是我的依賴項
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‑boot‑starter‑log4j2</artifactId>
</dependency>
目錄結構:/tmp/myproj/conf/application.properties
/tmp/myproj/conf/log4j2.xml
/tmp/myproj/my.jar
任何幫助將不勝感激。
參考解法
方法 1:
Spring Boot expects the log4j2‑spring.xml configuration file to be on the classpath. However, you can store it in a different location and point to it using the logging.config property in application.properties.
Try providing below configuration to you application.properties. Here log4j2‑spring.xml is on project classpath. If not then try giving your full path as (suppose) "C:/tmp/myproj/conf/log4j2.xml".
**logging.config=classpath:log4j2‑spring.xml**
logging.level.org.springframework.web=INFO
logging.file=logs/spring‑boot‑logging.log
The configuaration in bold should work for you.
Then you need to configure your log4j2‑spring.xml as per your requirement. (simple and also for appenders, see here https://howtodoinjava.com/log4j2/log4j‑2‑xml‑configuration‑example/ ).
Note: I have used log4j2‑spring.xml in place of you log4j2.xml. you can replace at your will.
(by Taufik Pirjade、Jabongg)