起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > Java日志记录详解

Java日志记录详解

时间:2022-08-14 14:43:21来源:零基础学Java 作者:Java学习网 已有: 名学员访问该课程

  快捷搜索:java日志记录

前言: 在本教程中,IT培训网小编将借助示例了解 Java Logging 及其各种组件。 Java 允许我们通过日志记录过程创建和捕获日志

在本教程中,IT培训网小编将借助示例了解 Java Logging 及其各种组件。

Java 允许我们通过日志记录过程创建和捕获日志消息和文件。

在 Java 中,日志记录需要框架和 API。Java 在包中有一个内置的日志框架java.util.logging。

我们还可以使用 Log4j、Logback 等第三方框架进行日志记录。

Java 日志组件

下图展示了 Java Logging API ( java.util.logging) 的核心组件和控制流程。

1. 记录器

该类Logger提供了日志记录方法。我们可以从类中实例化对象Logger并调用它的方法来记录日志。

让我们举个例子。

Logger logger = Logger.getLogger("newLoggerName");

类的getLogger()方法Logger用于查找或创建新的Logger. 字符串参数定义记录器的名称。

在这里,这将创建一个新对象或返回同名Logger的现有对象。LoggerLogger在当前类之后使用定义 a 是一种惯例class.getName()。

Logger logger = Logger.getLogger(MyClass.class.getName());

每个日志级别都有一个整数值来确定它们的严重性,除了两个特殊日志级别OFF和ALL.

记录消息

默认情况下,始终记录前三个日志级别。要设置不同的级别,我们可以使用以下代码:

logger.setLevel(Level.LogLevel);
// example
logger.setLevel(Level.FINE);

在此示例中,仅将级别FINE和高于它的级别设置为记录。所有其他日志消息都将被删除。

现在要记录一条消息,我们使用该log()方法。

logger.log(Level.LogLevel, "log message");
// example
logger.log(Level.INFO, "This is INFO log level message");

有一些用于在所需级别进行日志记录的速记方法。

logger.info( "This is INFO log level message");
logger.warning( "This is WARNING log level message");

所有通过设置日志级别的日志请求然后转发到LogRecord。

2.过滤器

过滤器(如果存在)确定是否应转发LogRecord 。顾名思义,它根据特定标准过滤日志消息。

如果LogRecord通过了指定的标准,它只会从记录器传递到日志处理程序,并从日志处理程序传递到外部系统。

// set a filter
logger.setFilter(filter);
// get a filter
Filter filter = logger.getFilter();

3.处理程序(Appenders)

日志处理程序或附加程序接收LogRecord并将其导出到各种目标。

处理程序可以将LogRecord传递给过滤器,以再次确定它是否可以转发到外部系统。

要添加新的处理程序,我们使用以下代码:

logger.addHandler(handler);
// example
Handler handler = new ConsoleHandler();
logger.addHandler(handler);

要删除处理程序,我们使用以下代码:

logger.removeHandler(handler);
// example
Handler handler = new ConsoleHandler();
logger.addHandler(handler);
logger.removeHandler(handler);

一个记录器可以有多个处理程序。要获取所有处理程序,我们使用以下代码:

Handler[] handlers = logger.getHandlers();

4.格式化程序

处理程序还可以使用Formatter将LogRecord对象格式化为字符串,然后再将其导出到外部系统。

我们可以使用以下代码来格式化处理程序:

// formats to string form
handler.setFormatter(new SimpleFormatter());
// formats to XML form
handler.setFormatter(new XMLFormatter());

日志管理器

LogManager对象跟踪全局日志记录信息。它读取并维护日志记录配置和记录器实例。

日志管理器是一个单例,这意味着它只有一个实例被实例化。

要获取日志管理器实例,我们使用以下代码:

LogManager manager = new LogManager();

日志记录的优势

以下是使用 Java 登录的一些优点。

有助于监控程序的流程

有助于捕获可能发生的任何错误

为问题诊断和调试提供支持

文章出自:http://qh.itpxw.cn/peixun/software/2022123626.html

文章标题:Java日志记录详解



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

你也许会喜欢如下的文章?
(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02
推荐内容