78.2 配置Log4j

如果Log4j 2出现在类路径下,Spring Boot会将其作为日志配置。如果你正在使用starter进行依赖装配,这意味着你需要排除Logback,然后包含log4j 2。如果不使用starters,除了添加Log4j 2,你还需要提供spring-jcl依赖(至少)。

最简单的方式可能就是通过starter,尽管它需要排除一些依赖,比如,在Maven中:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

Log4j starters会收集好依赖以满足普通日志记录的需求(比如,Tomcat中使用java.util.logging,但使用Log4j 2作为输出)。具体查看Actuator Log4j 2的示例,了解如何将它用于实战。

通过设置java.util.logging.manager系统属性为org.apache.logging.log4j.jul.LogManager,来配置它的JDK日志适配器,确保使用java.util.logging执行的调试日志被路由到Log4j 2。

最后更新于