【Java Web】-> Spring 5 -> Spring 5 新功能 -> 对 Log4j2 日志的整合

整合日志框架

Ⅰ 前言

Spring 基础文章回顾:

【Java Web】-> Spring 5 -> Spring 的下载 & 第一个样例

【Java Web】 -> Spring 5 -> IOC 底层原理

【Java Web】 -> Spring 5 ->IOC 操作 -> Bean 管理 ->关于 IOC 的一切就在这里了

【Java Web】-> Spring 5 -> AOP

【Java Web】-> Spring 5 -> JdbcTemplate

【Java Web】 -> Spring 5 -> Spring TX -> 详解事务管理

Spring 5 框架自带了通用的日志封装,它移除了 Log4jConfigListener,官方建议使用 Log4j2

这篇文章将讲解如何整合 Log4j2 框架。

Ⅱ 整合 Log4j2

首先我们需要引入四个 jar 包:
在这里插入图片描述
对应的 Maven pom文件如下:

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.12.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.12.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.12.1</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.30</version>
        </dependency>

我们需要创建一个 log4j2.xml 的配置文件。注意这个名字是不可以更改的。

log4j2.xml 的模板我直接贴上,基于这个模板我们可以对日志再做配置。

<?xml version="1.0" encoding="utf-8" ?>
<!--日志级别以及优先级排序:OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL-->
<!--Configuration后面的status用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,可以看到log4j2内部各种详细输出-->
<configuration status="INFO">
    <!--先定义所有的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>

用我 Spring-TX 中的代码做例子,实验一下日志。

结果如下,可以看到控制台输出了一行日志,就是我们在 xml 文件中配置的格式。
在这里插入图片描述

在这个配置中我们设置的级别是 INFO

在这里插入图片描述
现在我们提高一个级别,设置成 DEBUG,这样就能看到更多的信息了。
在这里插入图片描述
除此之外,我们还可以手动输出一下日志。

比如我们现在创建一个类, UserLog。写一个成员 Logger,注意它是 org.slf4j 包下的。

在这里插入图片描述
然后我们可以创建一个 main 方法。

在这里插入图片描述
这个类有许多方法可以输出。我们输出一个 info 一个 warn。
在这里插入图片描述

运行一下,可以看到我们的信息被输出了:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45627684/article/details/114222587
今日推荐