将诊断提供程序标识和记录器关联

如果要使用诊断提供程序来管理警报和消息,那么需要将诊断提供程序标识与记录器相关联。可通过动态方式或静态分配完成本任务。

关于此任务

其诊断通过诊断提供程序 Mbean 管理的组件应在所有记录的消息中包含该诊断提供程序标识 (DPID)。在某些情况下,单个的记录器总是使用相同的 DPID 记录。在那些情况下,适合将 DPID 与记录器静态关联。在其他情况下,一个记录器可能代表不同的诊断域进行记录。例如,尽管每个数据源具有独立的诊断提供程序 Mbean,它们却都共享相同的记录器。在那些情况下,DPID 可以在每个日志记录调用中动态提供。

静态分配

关于此任务

下面的方法将 DPID 静态分配给记录器。

过程

将 DPID 和记录器关联:
Logger logger = Logger.getLogger("com.ibm.ws.MyClass");
DiagnosticProviderHelper.addDiagnosticProviderIDtoLogger(logger, dpid);

动态分配

关于此任务

通过将它们包含为第一个消息参数,DPID 可以和单一记录请求关联,以 DPID: 为前缀。要使用记录器将 DPID 与单一记录请求相关联:
Object[] parms = new Object[] { "DPID:" + dpid };
logger.logp(classname, methodname, "MSG0001", parms);
注意在动态情况下 DPID 不需要实际地在格式化的消息中显示。以下两个示例对此进行了说明:
(in resource bundle)
// by not including {0} first parm is not printed in the message.
MSG0001=This message does not include the DPID.	
// note - it is not recommended to print the DPID in your message.
MSG0002=This message includes the DPID...it's value is {0}.	

建议那些消息不要将 DPID 包含在格式化的消息中。如上所示,这通过不在资源束的消息值中包含 {0} 完成。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_dpidlog
文件名:ttrb_dpidlog.html