log4j2 学习(一) 概述

一、功能

在大型应用中,日志可以帮助定位问题和分析性能,日志组件几乎是大型应用的必备组件。

log4j2是log4j的升级版本。

log4j2可以完成日志输出。可以定制日志输出格式,指定日志输出的目的是文件、控制台、数据库或其他存储媒介。

用log4j输出日志相比较于使用“System.out”的最大优势在于可以指定日志输出级别。

二、特点与优势

API独立

log4j API是一个门面(facade),对于实现了log4j的组件都可以使用log4j API作为其前端。

相比于SELF4j,log4j具有如下优势:

  1. log4j不仅支持String还支持Messages作为日志输出。
  2. log4j API支持lambda表达式
  3. 比SELF4j提供更多的日志方法
  4. 除了SELF4j支持的参数日志格式,还是支持事件
  5. log4j提供 LogManager.shutdown()
  6. 完全支持Makers,log Levels和 ThreadContext。

更优的性能

在多线程下相比log4j 1.x 和logback提升18倍吞吐量,并且具有更低的延迟。

支持java8的lambda表达式

几乎没有垃圾回收压力

三、相关框架

与log4j相关的框架有self4j、logback,其实后两个与log4j都是竞争关系。

参考:

log4j 2.x 官方文档: https://logging.apache.org/log4j/2.x/index.html

你可能感兴趣的:(日志组件)