Log4j2是Apache对Log4j的升级,目前spring5及其以上版本均支持Log4j2,它的更新带来了一些巨大的提升。
1.性能提升,log4j2 相较于log4j 和 logback 相比有明显的性能提升。
2.自动重载配置,即在改动xml文件的日志级别的时候不需要重新启动应用。
3.无垃圾,log4j2在大部分的情况下可以将对象重用,内存缓冲,来避免日志收集的大多数数据导致性能下降。
那么话不多说直接上配置文件。(切记log4j2只能在spring5即其以上版本使用)
<!--log4j2--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.19.0</version> </dependency> <!--slf4j--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> <version>2.19.0</version> </dependency>
在resources文件下new 一个file名字必须为log4j2.xml。将如下配置复制进去就好啦
<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,可以看到log4j2内部各种详细输出-->
<configuration >
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
<!--root:用于指定项目的根日志,如果没有单独指定Logger,则会使用root作为默认的日志输出-->
<loggers>
<root level="DEBUG">
<appender-ref ref="spring6log"/>
</root>
</loggers>
<!--先定义所有的appender-->
<appenders>
<!--输出日志信息到控制台,可以规定日志信息输出的位置-->
<console name="spring6log" target="SYSTEM_OUT">
<!--控制日志输出的格式-->
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-3level %logger{1024} - %msg%n"/>
</console>
</appenders>
</configuration>
这就是将Spring6和Log4j2进行整合.