1、概览 {#1概览}
本文将会带你了解如何在 Spring Boot 应用中修改 Log4j2 配置文件的默认位置。
2、通过配置文件更改 {#2通过配置文件更改}
默认情况下,把 Log4j2 配置文件(log4j2.xml
/ log4j2-spring.xml
)放在项目的 classpath
或 resources
文件夹中。
可以在 application.properties
中修改该文件的位置:
logging.config=/path/to/log4j2.xml
3、通过 VM 参数修改 {#3通过-vm-参数修改}
还可以在运行程序时通过以下 VM 参数来指定 log4j2 的配置文件:
-Dlogging.config=/path/to/log4j2.xml
4、编程式配置 {#4编程式配置}
最后,还可以通过更改 Spring Boot Application
类,以编程方式配置该文件的位置:
@SpringBootApplication
public class Application implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void run(String... param) {
// Log4j2 的 Configurator 类
Configurator.initialize(null, "/path/to/log4j2.xml");
}
}
这种解决方案有一个缺点:应用启动过程不会使用 Log4j2 输出日志。
5、总结 {#5总结}
本文介绍了在 Spring Boot 中指定 Log4j2 配置文件的不同方法。
Ref:https://www.baeldung.com/spring-boot-change-log4j2-location