JRas 记录工具箱
JRas 记录工具箱提供诊断信息以帮助管理员诊断问题或调整应用程序性能。

开发、部署和维护应用程序是一些复杂任务。例如,当正在运行的应用程序遇到意外情况时,它可能无法完成请求的操作。在这种情况下,您可能希望应用程序通知管理员操作已失败,并提供相应的信息。此操作使管理员能够执行正确的纠正操作。应用程序开发者或维护者可能需要收集与正在运行的应用程序的路径相关的详细信息,以确定由于代码错误引起的故障的根本原因。用于完成这些任务的工具通常指的是消息记录和诊断跟踪。
消息记录(消息)和诊断跟踪(跟踪)概念上非常相似,但它们却有重大的差异。对于应用程序开发者来说,了解这些差异是很重要的,只有这样才能正确地使用这些工具。首先提供下列消息和跟踪的可操作定义。
- 消息
- 消息条目是供最终用户、系统管理员和支持人员查看的参考记录。消息文本必须清楚、简明和容易理解。消息通常会被本地化,这意味着将以最终用户的本地语言来显示消息。尽管消息的目标位置和生存期可能是可配置的,但总是在正常系统操作中启用某些级别的消息记录。由于考虑到性能和消息库的大小,必须谨慎使用消息记录。
- 跟踪
- 跟踪条目是打算由服务工程师或开发者使用的信息记录。此跟踪记录可能比消息条目要复杂、详细和琐碎得多。本地化支持通常不用于跟踪条目。跟踪条目可能是相当难以理解的,仅有适当的开发者或服务人员能够理解它们。假设在正常运行时操作期间未写跟踪条目,但是可以根据需要启用它们以收集诊断信息。
WebSphere® Application Server 提供应用程序可以使用的消息记录和诊断跟踪 API。此 API 基于 IBM® 开发的独立 JRas 记录工具箱。独立 JRas 记录工具箱是接口和提供消息记录和诊断跟踪原语类的集合。这些原语类不限定于任何特殊产品或平台。独立 JRas 记录工具箱提供有限的支持(通常称为系统管理支持),包括基于属性文件的日志文件配置支持。
正如设计的那样,独立 JRas 记录工具箱不包含集成到 WebSphere Application Server 运行时或在 Java 2 平台企业修订版 (J2EE) 环境中使用所必需的支持。为了克服这些限制,WebSphere Application Server 提供了一组扩展类以处理这些缺点。该扩展类的集合指的是作为 JRas 扩展。JRas 扩展不会修改由独立 JRas 记录工具箱引入的接口,但是会提供适当的实现类。在下一节中描述了独立 JRas 记录工具箱所引入的概念性结构。它同等地应用于 JRas 扩展。
JRas 概念
本节对独立 JRas 记录工具箱引入的重要概念和构造进行了基本概述。此信息并不是对此记录工具箱功能的详尽概述,也不想详细讨论用法或编程范例。更详细的信息(包括代码示例)可以从 JRas 扩展及其子主题(包括组成记录工具箱的各种接口和类的 API 文档)中获取。
- 事件类型
- 独立 JRas 记录工具箱定义一组消息的事件类型和一组跟踪的事件类型。消息类型示例包括参考、警告和错误。跟踪类型示例包括入口、出口和跟踪。
- 事件类
- 独立 JRas 记录工具箱定义消息和跟踪事件类。
- 记录器
- 记录器是与用户代码交互的主对象。定义了两种类型的记录器:消息记录器和跟踪记录器。因为消息记录器和跟踪记录器提供不同的功能,所以它们的方法集是不同的。消息记录器仅创建消息记录,而跟踪记录器仅创建跟踪记录。这两种类型的记录器都包含一些掩码,用来指示记录器将处理和忽略哪些类别的事件。尽管每个 JRas 记录器都定义为同时包含消息和跟踪掩码,但是,消息记录器仅使用消息掩码,而跟踪记录器仅使用跟踪掩码。例如,通过将消息记录器的消息掩码设置为适当的状态,可以将它配置为仅处理错误消息,而忽略参考消息和警告消息。更改消息记录器的跟踪掩码状态将不起作用。
记录器包含一个或多个其转发事件所至的处理程序以进行进一步处理。当用户对记录器调用方法时,记录器就会将调用者指定的事件类型与当前掩码值进行比较。如果指定的类型通过了掩码检查,记录器就会创建一个事件对象,以捕获与传递给记录器方法的事件相关的信息。此信息中可能包括一些信息,例如,将事件、消息和参数记录到日志中的类和方法的名称。当记录器创建事件对象时,它会将该事件转发给所有当前已向记录器注册的处理程序。
在记录基础结构中使用的方法不会调用记录器方法。当应用程序使用扩展线程类、实现 hashCode 方法的对象,并从该方法调用记录基础结构时,将产生递归循环。
- 处理程序
- 处理程序提供输出设备或事件使用者的提取。示例是文件处理程序,其了解如何将事件写到文件。处理程序也包含用来进一步限制处理程序处理的事件类别的掩码。例如,可以将消息记录器配置为同时传递警告和错误事件,但与消息记录器相连的处理程序可能被配置为只传递错误事件。处理程序也包含格式化程序,在数据写入到输出设备之前,处理程序调用该格式化程序格式化已传递的事件中的数据。
- 格式化程序
- 用格式化程序配置处理程序,它们知道如何格式化某些类型的事件。处理程序可以包含多个格式化程序,它们中的每个都知道如何格式化特定类事件。事件对象通过处理程序传递到适当的格式化程序。格式化程序将格式化的输出返回到处理程序,该处理程序然后将格式化的输出写入输出设备。