log4j2日志输出到控制台-Maven工程

在这里插入图片描述

log4j2简介:
Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides many of the improvements available in Logback while fixing some inherent problems in Logback’s architecture.
Apache Log4j 2是Log4j的升级版,它比前一代Log4j 1.X提供了显著的改进。提供了许多Logback中可用的改进,同时修复了Logback架构中的一些固有问题。

                                                                         ——摘自log4j2官网

1.log4j日志等级介绍


1.1 默认等级介绍

Log4J 内置的标准日志级别*
在这里插入图片描述

ALL 			打开所有日志

TRACE 	  		一般不使用

DEBUG 			对调试应用程序有帮助的,打印运行信息

INFO  			打印主要的信息,不能乱用,避免打印过多日志

WARN 			警示信息

ERROR 			错误事件,系统继续运行,打出错误和异常信息

FATAL		 	重大错误,停止程序

1.2 自定义日志等级

如果默认的等级不能满足你的开发需求,可以自定义日志输出等级。

  <CustomLevels>
    <CustomLevel name="DIAG" intLevel="350" />
    <CustomLevel name="NOTICE" intLevel="450" />
    <CustomLevel name="VERBOSE" intLevel="550" />
  </CustomLevels>

在使用时通过 Logger.log()方法调用自定义日志级别


2.配置文件设置

2.1 自定义FLOW输出级别,并输出到控制台

配置log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <CustomLevels>
        <CustomLevel name="FLOW" intLevel="234" />
    </CustomLevels>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="TRACE" additivity="false">
            <AppenderRef ref="console"/>
        </Root>
    </Loggers>
</Configuration>

2.2 添加maven依赖

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.2</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.17.2</version>
</dependency>

3.实战测试

3.1 测试类

import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Log4jTest {
    public static void main(String[] args) {
        Logger logger = LogManager.getLogger();

            logger.debug("It is a debug logger.");
            logger.error("It is an error logger.");
            logger.fatal("It is a fatal logger.");
            logger.info("It is a info logger.");
            logger.trace("It is a trace logger.");
            logger.warn("It is a warn logger.");
            logger.log(Level.getLevel("FLOW"), "Tt is a flow logger");

        }
}

3.2 运行结果展示

在这里插入图片描述


4.总结

log4j日志管理框架可以很好的管理输出的日志内容,在调试,开发,运行等不同阶段配置不同的日志等级,有效提高了开发效率。


5.拓展

log4j还可以配置日志输出到文件、数据库、邮件等位置,有需要的小伙伴自行探索一下,推荐参阅官方文档。
https://logging.apache.org/log4j/2.x/articles.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海若[MATRIX]

鼓励将是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值