Java从 JDK 1.4 开始将日志记录 API 库作为其框架的一部分。今天,这是来自 Java的内置支持。然而,这个库是可定制和可扩展的,因为我们可以使用第三方库提供的一个或多个替代日志解决方案。尽管这些第三方解决方案有不同的方法来创建日志数据,但它们最终共享从应用程序运行时记录消息的相同目标。本文探讨了日志记录的基础知识。想学习Java日志记录的同学可以参加java培训,在专业老师的带领下,可以获得快速提升。
Java日志记录
日志通常意味着维护某种记录。从编程的角度来看,它是在程序执行过程中将消息写入日志文件的过程。持久化消息日志通常由程序员参考,以收集某些运行时统计信息,这些信息在分析时可以揭示不可预见的情况。事实上,使用日志记录的原因可能有很多,这只是其中之一。根据Java API文档,日志记录有四种主要用途:
供最终用户和系统管理员进行问题诊断。
现场服务工程师可以方便地从记录的消息中诊断问题并快速修复。
开发组织可以跟踪特定子系统的内部执行并对其进行分析。
开发人员可以通过从记录的消息中快速了解潜在问题来调试正在开发的应用程序。
Java API日志记录以一种廉价的方式设计,即使在生产应用程序中它也可以作为残留物留下。这不会对程序执行的效率造成太大的开销。API提供了动态更改日志消息生成的机制,以便在需要最高效率的操作期间将日志记录的影响降至最低API由许多类和接口组成,可以通过扩展它们来定制它们。整个日志API打包在java.util.logging下。此包中的类和接口提供Java中的核心日志记录工具。在Java培训中,无论是理论知识项技能。
日志记录级别
登录Java程序的紧迫性可以分为几个级别。通过升级和降级,我们可以增加或减少生产应用程序的登录成本。这就是我们在需要记录一个或多个事件时控制应用程序执行效率的方式。这是通过一个名为Level的类来实现的,该类定义了日志记录的重要性。日志级别由静态整数常量排序和指定,例如:
Level.ALL:记录所有消息,无论其重要性
Level.OFF:关闭日志记录
Level.SEVERE:表示严重故障; 必须记录
Level.WARNING:表示警告信息
Level.INFO:运行时信息性消息
Level.CONFIG:静态配置消息
Level.FINE:跟踪消息
Level.FINER:详细跟踪消息
Level.FINEST:非常详细的跟踪消息
日志记录组件
我们需要一个Logger实例来执行Java中的任何类型的日志记录。该实例负责将数据记录到LogRecord中。LogRecord实例用于在日志框架和各个日志处理程序之间传递日志请求。Java SE 提供了五种类型的内置处理程序:StreamHandler、ConsoleHandler、FileHandler、SocketHandler 和 MemoryHandler。但是,可以创建一个新的处理程序或将其中一个扩展为自定义。通过java培训学习,有更加系统全面的课程和明确清晰的学习路线,学习起来既轻松,又高效。
处理程序决定如何处理日志记录,例如,它可以保存在本地存储库中,也可以通过网络传递给服务器。Java SE 还包括两个标准格式化程序:SimpleFormatter和XMLFormatter。这些格式化程序分别用于将LogRecord格式化为人类可读格式和标准XML格式。
有一个LogManager类可以跟踪全局日志记录信息,例如命名Loggers的分层命名空间和配置文件中的一组日志记录控制属性。它是Java日志记录的核心,几乎可以控制要记录的内容、记录的位置,包括其他初始化细节等等。
Java中的其他日志框架
有时,使用第三方日志框架很方便,并且有不少流行的可供选择。例如,SLF4J 提供的日志API使用简单的外观模式,这是一个抽象层,使应用程序能够与其日志框架分离。Log4j在语法上类似于内置的Java日志记录。它具有将所有日志消息输出到控制台的默认配置。Logback是Log4j的继承者,是其前身的扩展。tinyLog 是一个轻量级的日志框架,可以与Java和Android一起使用。
结论
日志记录过程旨在简单有效地交付它应该做的事情。可以快速开始使用Java中的 Logging API。该设计具有可扩展性,可以根据开发人员的最终需求进行定制。想学习java更多技能,建议参加java培训,课程实时更新,紧跟市场和企业,让你学到最新的java技能,提高市场竞争力。