JRas 扩展类
WebSphere® Application Server 提供了一组统称为 JRas 扩展的基本实现类。许多这样的类提供了记录器、处理程序和格式化程序的适当实现,以供在 WebSphere Application Server 环境中使用。
不推荐使用本任务及其子任务中描述的 JRas 框架。但是,可以使用 Java™ 记录来获得类似结果。
JRas 类集合的目标为集成的操作方式。如果您选择以独立或组合的方式使用 JRas 扩展,您可以复用扩展提供的记录器和管理器类,但您必须提供自己的处理程序和格式化程序的实现。
WebSphere Application Server 消息和跟踪记录器
独立的 JRas 记录工具箱提供的消息和跟踪记录器无法直接在 WebSphere Application Server 环境中使用。JRas 扩展提供相应的记录器实现类。直接并专门地从 WebSphere Application Server 管理器类获取这些消息和跟踪记录器类的实例。您无法直接实例化消息和跟踪记录器。除了直接从管理器类获取记录器之外,以任何其他方式获取记录器都会直接违反编程模型,是不允许的。
从 WebSphere Application Server 管理器类获取的消息和跟踪记录器实例是由独立 JRas 记录工具箱提供的 RASMessageLogger 和 RASTraceLogger 类的子类。RASMessageLogger 和 RASTraceLogger 类定义直接可用的方法集合。JRas 扩展记录器子类引入的 Public 方法无法由用户代码直接调用,因为它是编程模型的违例。
记录器是命名对象,并由名称标识。当调用管理器类以获取记录器时,要求调用者为此记录器指定名称。管理器类保留一个从名称到记录器的实例映射。在进程的生存期内,仅创建了指定记录器的一个实例。对具有特殊名称的管理器类的首次调用会导致由管理器类配置的记录器。管理器类会高速缓存对实例的引用,然后将它返回给调用者。对指定相同名称的管理器类的后续调用会导致返回对高速缓存的记录器的引用。为消息和跟踪记录器保存个别名称空间。可以使用单个名称从管理器获取消息记录器和跟踪记录器,而不会导致混淆和引起名称空间冲突。
通常,记录器没有预定义的详细程度或作用域。单个记录器可用于检测整个应用程序。可能确定每个类具有一个记录器更有效,或者适当的粒度可能是折衷。将一个应用程序划分为记录域由应用程序写程序确定。
从管理器类获取的 WebSphere Application Server 记录器类是线程安全的。尽管作为独立 JRas 记录工具箱的一部分提供的记录器实现了可序列化接口,但是记录器不可序列化。记录器是有状态的对象,会捆绑到 Java 虚拟机实例,并且不可序列化。尝试序列化记录器违反编程模型。
在 WebSphere Application Server 环境中,个人记录器子类不受支持。
WebSphere Application Server 处理程序
WebSphere Application Server 将用于写消息和跟踪事件的相应 handler 类提供给 WebSphere Application Server 运行时日志。您无法配置 WebSphere Application Server 处理程序,以写入任何其他目标。WebSphere Application Server 处理程序的创建是一个受限操作,并且不可用于用户代码。通过此处理程序的已安装实例,从管理器获取的每个记录器进入预配置状态。要以独立方式运行时,您可从记录器移除 WebSphere Application Server 处理程序。当移除了 WebSphere Application Server 处理程序时,就不能再次将该处理程序添加到移除它的记录器或任何其他记录器中。并且,您无法直接调用 WebSphere Application Server 处理程序上的任何方法。尝试创建 WebSphere Application Server 处理程序的实例以调用 WebSphere Application Server 处理程序上的方法或由用户代码将 WebSphere Application Server 处理程序添加到记录器违反了编程模型。
WebSphere Application Server 格式化程序
WebSphere Application Server 处理程序以预配置了写入 WebSphere Application Server 日志的数据的相应的格式化程序的方式出现。WebSphere Application Server 格式化程序的创建是一个受限操作,并且不可用于用户代码。没有机制允许用户获得对安装在 WebSphere Application Server 处理程序中的格式化程序的引用,或更改配置 WebSphere Application Server 处理程序以使用的格式化程序。
WebSphere Application Server 管理器
WebSphere Application Server 在 com.ibm.websphere.ras 包中提供了管理器类。必须从此管理器类中获取所有消息和跟踪记录器。通过调用静态 Manager.getManager 方法以获取对管理器类的引用。通过调用管理器类上的 createRASMessageLogger 方法以获取消息记录器。通过调用管理器类上 createRASTraceLogger 方法以获取跟踪记录器。
此管理器也支持组提取,该提取在处理跟踪记录器时是有用的。组提取支持多个无关的跟踪记录器注册为称为组的指定实体的一部分。WebSphere Application Server 提供相应的系统管理工具来处理组的跟踪设置,其类似于个别跟踪记录器的跟踪设置工作的方法。
例如,假设组件 A 包含 10 个类。假设配置每个类以使用单独的跟踪记录器。此组件中的 10 个跟踪记录器都注册为同一组的成员,例如,Component_A_Group。可以为单个类打开跟踪,或者,如果需要组件跟踪,那么可使用组名来为单个操作中的 10 个类都打开跟踪。在跟踪记录器的名称空间内保存组名。