zoukankan      html  css  js  c++  java
  • 【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
    
    --不要用肉体的勤奋,去掩盖思考的懒惰--
  • 相关阅读:
    Unique Binary Search Trees 解答
    Unique Paths II 解答
    Unique Paths 解答
    Maximum Subarray 解答
    Climbing Stairs 解答
    House Robber II 解答
    House Robber 解答
    Valid Palindrome 解答
    Container With Most Water 解答
    Remove Duplicates from Sorted List II 解答
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/15114129.html
Copyright © 2011-2022 走看看