我如何在我的项目中使用 log4j 并指导我 log4j 的目的是什么。请详细指导我?我已经阅读了不同的文章,但我不明白什么是 log4j 以及使用目的是什么。提前致谢 :)
4 回答
Log4j is a logging framework, it prints log lines in a very configurable way. It's meant to be used so that you can configure the level of logging (eg debug, info, warning, error) without the need to change your code, in contrast to, say, using System.out.println().
Why would you want to use it if you don't know what it is?
使用 Log4j,您可以记录应用程序的详细信息。它类似于使用 System.out.println()。但 Log4j 不仅仅如此。通过使用 Log4j,您实际上可以为您希望记录的不同信息设置不同的级别。除此之外,您可以将详细信息记录到单独的文件而不是控制台。我强烈建议您阅读 Log4j 的文档,因为它并不难理解。
首先,您必须了解什么是应用程序日志记录以及为什么需要它。维基百科在这里用一句话做得很好:
计算机数据记录是记录事件的过程,计算机程序通常是一定范围内的应用软件,以提供可用于了解系统活动和诊断问题的审计跟踪。
因此,目的是查看应用程序的某些事件(例如,监控调用了特殊方法)。可以通过多种方式记录事件。您可以将语句写入控制台窗口,可以将语句写入文件(非常常见),甚至可以将语句通过电子邮件发送给某人(以防需要快速处理的非常具体的事件)。
日志框架将帮助您完成这项工作。它们提供了为日志语句赋予特定“级别”的重要性并配置日志语句的目标(控制台、文件、电子邮件等)的可能性。
一旦你理解了为什么你需要一个日志框架——你必须选择一个。在 Java 中,您有多种可能性,例如:
- log4j (1) - 很常见但不再维护
- log4j 2 - log4j 的 Apache 继任者 - 仍处于测试阶段
- slf4j with logback - log4j 作者的 log4j 继任者 (1)
- Java Logging API - 很少使用(据我所知)
恕我直言,目前一个不错的选择是带有 logback 的 slf4j。log4j 2 看起来很有希望,但仍处于测试阶段。
要了解基础知识,您可以考虑某人将程序详细信息打印到控制台以了解程序如何执行的方式。
初学者一般都是用System.out.println(String)
for这个。然而,这种做法在管理消息方面存在许多问题。只是指出一个; 无法控制打印哪些消息,因此所有消息都System.out.prints
被打印。
正确管理消息(也称为日志);可以使用log4j、logback或slf4j等日志框架。
作为起点,您可以使用 5 个简单的步骤将log4j添加到您的 Java 项目中。
- 使用 log4j 设置项目
- 创建 log4j.properties 文件
- 写一个类来记录日志消息
- 编译并运行程序
- 检查日志消息
“如何将 log4j 与 Java 项目集成”教程中详细介绍了每个步骤。