ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Spring 从0开始】Spring5 新功能,整合日志框架 Log4j2

2021-08-08 09:32:24  阅读:206  来源: 互联网

标签:输出 09 Spring 08 手动 日志 Spring5 Log4j2 spring5


本次系列的学习是基于 spring5 ,也就是最新的版本。

spring5 的整个代码都是基于 java8 的,自身作了不少的优化,比如许多不建议使用的类和方法已经在代码库中删除。

此外,spring5 框架自带了通用的日志封装,但是我们依然可以整合其他的日志框架使用,比如 Log4j。不过在 spring5 中移除了 Log4jConfigListener,需要使用 Log4j2。

一、引入依赖

引入相关 jar 包。

二、创建Log4j2 配置文件

文件名是固定的 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>

现在就可以直接用起来了,执行一下之前的测试函代码:

2021-08-08 09:09:21.935 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited

Process finished with exit code 0

可以在控制台看到,日志信息是根据上面配置的格式进行输出的。

三、手动进行单独的输出

也可以手动的输出一些我们指定的内容日志。

package com.pingguo.spring5.test;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class UserLog {
    private static final Logger log = LoggerFactory.getLogger(UserLog.class);

    public static void main(String[] args) {
        log.warn("手动输出warning");
        log.error("手动输出error");
    }

}

执行一下:

2021-08-08 09:18:02.285 [main] WARN  com.pingguo.spring5.test.UserLog - 手动输出warning
2021-08-08 09:18:02.288 [main] ERROR com.pingguo.spring5.test.UserLog - 手动输出error

Process finished with exit code 0

标签:输出,09,Spring,08,手动,日志,Spring5,Log4j2,spring5
来源: https://www.cnblogs.com/pingguo-softwaretesting/p/15114129.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有