更改 Spring Boot 中 Log4j2 配置文件的默认位置

1、概览

本文将会带你了解如何在 Spring Boot 应用中修改 Log4j2 配置文件的默认位置。

2、通过配置文件更改

默认情况下,把 Log4j2 配置文件(log4j2.xml / log4j2-spring.xml)放在项目的 classpathresources 文件夹中。

可以在 application.properties 中修改该文件的位置:

logging.config=/path/to/log4j2.xml

3、通过 VM 参数修改

还可以在运行程序时通过以下 VM 参数来指定 log4j2 的配置文件:

-Dlogging.config=/path/to/log4j2.xml

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、总结

本文介绍了在 Spring Boot 中指定 Log4j2 配置文件的不同方法。


Ref:https://www.baeldung.com/spring-boot-change-log4j2-location