扩展JDK日志框架 - 编程入门网
if (stafHandle != null){
try {
stafHandle.unRegister();
} catch (STAFException e) {
//ignore
}
}
}
@Override
public void flush() {
//nothing
}
@Override
public void publish(LogRecord record) {
if (!isLoggable(record)) {
return;
}
String msg;
try {
msg = getFormatter().format(record);
} catch (Exception ex) {
reportError(null, ex, ErrorManager.FORMAT_FAILURE);
return;
}
try {
STAFLog.log(stafHandle, STAFLog.MACHINE,
logName, record.getLevel().getName(), msg);
} catch (Exception ex) {
reportError(null, ex, ErrorManager.WRITE_FAILURE);
}
...
扩展JDK日志框架(6)时间:2011-07-18 IBM 颜 林在实现 STAFHandler 类时有以下几个要点: 由于 STAF API 的调用时需要一个 STAFHandle 的对象来代表本地的 STAF 服务,在该类中声明了一个全局变量用来存储 STAFHandle 。 close 方法是用来清理系统资源的,上述代码的 close 方法中释放了全局变量 STAFHandle 对象。 publish 方法就是获得格式化后的消息后,直接调用 STAF 的日志 API 将日志发送到 STAF 服务中。 但到目前为止,我们还没有给 STAFHandler 类添加一个配置的代码,使之可以支持配置文件。下面我们定义了一个函数 configure,其代 码如清单 9 所示。 清单 9 配置函数实现
在实现配置文件支持的代码中,有以下几个要点: STAF API 的初始化需要注册 STAFHandle 对象。而且该注册只能执行一次。我们根据全局变量 stafHandle 的值来决定是否注册该对象 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |