欢迎使用 Log4j 2!

Introduction

几乎每个大型应用程序都包含其自己的日志记录或跟踪 API。根据此规则,E.U。 SEMPER项目决定编写自己的跟踪 API。这是在 1996 年初。经过无数次增强,经过多次改进和大量工作之后,API 演变成了 log4j,这是 Java 的流行日志记录程序包。该软件包是根据open source计划认证的成熟的开源许可证Apache 软件许可分发的。 http://logging.apache.org/log4j/2.x/index.html可以找到最新的 log4j 版本,包括完整的源代码,类文件和文档。

将日志语句插入代码是调试它的低技术方法。这也可能是唯一的方法,因为调试器并不总是可用或不适用。对于多线程应用程序和整个分布式应用程序通常是这种情况。

经验表明,日志记录是开发周期的重要组成部分。它具有几个优点。它提供有关应用程序运行的精确上下文。一旦插入到代码中,日志输出的生成无需人工干预。此外,日志输出可以保存在永久性介质中,以便以后进行研究。除了在开发周期中使用它外,足够丰富的日志记录包也可以视为审核工具。

正如 Brian W. Kernighan 和 Rob Pike 在其 true 出色的著作“编程实践”中所说的那样:

作为个人选择,我们倾向于不使用调试器,而不必获取堆栈跟踪或一个或两个变量的值。原因之一是很容易在复杂的数据结构和控制流的细节上迷失方向。我们发现单步执行程序的效率不如认真思考,并在关键位置添加输出语句和自检代码。单击结束语句所花费的时间比扫描明智放置的显示器的输出所花费的时间更长。即使单步进入代码的关键部分,也可以花更少的时间来决定将打印语句放置在哪里,即使假设我们知道在哪里也可以。更重要的是,调试语句保留在程序中。调试会话是短暂的。

日志记录确实有其缺点。它可能会使应用程序变慢。如果太冗长,则可能导致滚动失明。为了减轻这些担忧,log4j 被设计为可靠,快速和可扩展的。由于日志记录很少是应用程序的主要重点,因此 log4j API 努力使之易于理解和使用。

Log4j 2

Log4j 1.x 已被广泛采用并在许多应用程序中使用。但是,经过多年的 Developing,它已经放慢了脚步。由于它需要与非常旧的 Java 版本兼容,因此维护变得更加困难,并于 2015 年 8 月成为生命的尽头。它的替代产品 SLF4J/Logback 对框架进行了许多必要的改进。那么,为什么还要麻烦 Log4j 2?以下是一些原因。

首页