在本教程中,我们将借助示例学习Java日志记录及其各种组件。
Java允许我们通过日志记录过程来创建和捕获日志消息和文件。
在Java中,日志记录需要框架和API。Java在java.util.logging程序包中具有内置的日志记录框架。
我们还可以将第三方框架(如Log4j,Logback等)用于日志记录。
下图显示了Java Logging API(java.util.logging)的核心组件和指定流程。
Logger类提供了日志记录的方法。我们可以从Logger类中实例化对象并调用其方法以进行记录。
让我们举个实例。
在这里,这将创建一个新Logger对象或返回一个具有相同名称的Logger对象。
注意:如果传递的名称为null,该方法将抛出NullPointerException。
每个Logger都有确定日志消息重要性的级别。有7个基本日志级别:
每个日志级别都有一个整数值,用来确定它们的严重性,除了两个特殊的日志级别OFF和ALL之外。
默认情况下,始终会记录前三个日志级别。要设置其他级别,我们可以使用以下代码:
在本示例中,只有Level.FINE和它之上的级别被设置为日志记录。删除所有其他日志消息。
现在要记录一条日志消息,我们使用该log()方法。
有一些用于记录所需级别的速记方法。
注意:如果一个日志记录器的级别被设置为null,那么它的级别将从其父继承,以此类推。
过滤器(如果存在)决定LogRecord是否转发该日志记录。顾名思义,它根据特定的标准过滤日志消息。
如果LogRecord通过指定的条件,则仅从记录器传递到日志处理程序,并从日志处理程序传递到外部系统。
Java SE提供了5个内置处理程序:
处理程序可以将LogRecord传递到过滤器,以再次确定是否可以将其转发到外部系统。
要添加新的处理程序,我们使用以下代码:
要删除处理程序,我们使用以下代码:
一个记录器可以有多个处理程序。要获取所有处理程序,我们使用以下代码:
处理程序还可以使用Formatter将LogRecord对象格式化为字符串,然后再将其导出到外部系统。
Java SE具有两个内置的Formatter:
我们可以使用以下代码来格式化处理程序:
日志管理对象跟踪的全球记录的信息。它读取并维护日志记录配置和记录器实例。
日志管理器是单例,这意味着仅实例化了一个实例。
要获取日志管理器实例,我们使用以下代码:
这是使用Java 日志的一些优点。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/18280.html