Log4j2抽丝剥茧之入门及进阶

一、前言

目前公司主要是通过日志组件+企业微信的形式,实现业务报警监控,刚入职的那会儿,师傅让我在已有的扩展上,再去扩展一些新的功能,测试相关兼容性,让我研究一下Log4j2,于是,在拖了将近一个月之后,这篇文章终于诞生了。

本篇文章需要你有一定的JavaWeb开发经验,并不会从零开始集成,在看这篇文章之前,你可以先搜索:Springboot集成Log4j2,进行前置学习和准备。

二、Log4j2是什么

Log4j2是一个日志框架,也许你还听说过LogBack,那为什么我会选择用Log4j2呢,原因很简单,正是因为它比LogBack更强大,我们来简单看一下Log4j2的有点,我挑几点列举一下:

Log4j 2 contains next-generation Asynchronous Loggers based on the LMAX Disruptor library. In multi-threaded scenarios Asynchronous Loggers have 10 times higher throughput and orders of magnitude lower latency than Log4j 1.x and Logback.

Log4j 2 uses a Plugin system that makes it extremely easy to extend the framework by adding new Appenders, Filters, Layouts, Lookups, and Pattern Converters without requiring any changes to Log4j.

Many Logback Appenders do not accept a Layout and will only send data in a fixed format. Most Log4j 2 Appenders accept a Layout, allowing the data to be transported in any format desired.

具体的比较,在这就不展开了,以上三点可以概括为:强大的性能、友好的扩展、丰富的布局。

三、Log4j2有什么用

准确来说,是日志框架有什么用。如果我没记错的话,在学校的学习中,老师是根本不会讲这个东西的,但是在实际工作中,你所参与的每个项目,必定会用到日志框架。

日记,是对过去的总结和记录,日志,也是如此,可以在任何你需要记录的位置,记录下程序曾今运行的状态,比如:什么时候调用了什么方法、某个方法返回了哪些参数等等。甚至还可以通过扩展,实现当你的程序有错误时,结合微信,推送至你的微信上。

四、Log4j2配置的主要结构

如果你已经在生产环境中使用了,可能网上随便找个配置,看一下,随手一改就完事了,并不会仔细去看每个标签其中的含义和关联,所以这也是我写这篇文章的目的之一,下面我会根据上图的序号,来讲解一下大概的含义、用法和注意事项。

按照国际惯例,我还是贴一下本次示例的配置代码,跟我实际使用的差不多。

隐藏内容,您需要满足以下条件方可查看
End

人已赞赏
Java编程语言

Springboot WebSocket 入门及源码

2019-11-26 21:17:28

Java编程语言

Sharding-JDBC踩坑记

2019-12-27 22:18:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索