spring5框架整合Log4j2
前言
Spring5整合日志框架Log4j2
一、依赖导入
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.17.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.35</version>
</dependency>
二、Log4j配置文件
1、在resources目录下创建log4j2.xml
log4j配置文件有以下几种情况,优先级依次减小
,一般使用log4j2.xml
(1).classpath下的log4j2-test.json 或者log4j2-test.jsn的文件.
(2).classpath下的log4j2-test.xml的文件.
(3).classpath下log4j2.json 或者log4j2.jsn的文件.
(4).classpath下log4j2.xml的文件.
2、基本配置
Log4j基本配置格式
<?xml version="1.0" encoding="UTF-8" ?>
<!--日志级别排序 OFF>FATAL>ERROR>WARN>INFO>DEBUG>TRACE>ALL-->
<configuration status="DEBUG">
<!-- 先定义所有的appender-->
<appenders>
<!--输出日志信息到控制台-->
<console name="Console" target="SYSTEM_OUT">
<!--控制信息输出格式-->
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</console>
</appenders>
<!--定义logger ,只有定义了logger,并引入appender,appender才会生效-->
<!--root:用于指定项目的根日志,如果没有单独指定Logger,则会使用root作为默认的日志输出-->
<loggers>
<root level="info">
<appender-ref ref="Console"/>
</root>
</loggers>
</configuration>
3、效果
这边设置status=“DEBUG”,所以控制台输出的日志如下
三、手动日志输出
可以用于开发过程使用,便于发现问题
1、代码
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyLogger {
private static final Logger log = LoggerFactory.getLogger(MyLogger.class);
public static void main(String[] args) {
log.info("info logger");
log.warn("warn logger");
log.error("error logger");
}
}