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


    本次系列的学习是基于 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
    
    --不要用肉体的勤奋,去掩盖思考的懒惰--
  • 相关阅读:
    linux权限掩码
    主机跨网通信时的字节序转换
    鸽巢原理-poj3370
    鸽巢原理
    JS面向对象关键词
    Less 命令技巧,从底部网上看
    软件工程概论第七章
    软件工程概论第八章
    软件工程概论第六章
    软件工程概论第五章
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/15114129.html
Copyright © 2020-2023  润新知