为 Eclipse 插件添加日志框架:两种增强 Eclipse 日志功能的方法
2009-12-14 00:00:00 来源:WEB开发网
清单 3. PluginEventListener 类private class PluginEventListener implements HierarchyEventListener {
public void addAppenderEvent(Category cat, Appender appender) {
if (appender instanceof PluginLogAppender) {
((PluginLogAppender)appender).setLog(log);
}
if (appender instanceof PluginFileAppender) {
((PluginFileAppender)appender).setStateLocation(stateLocation);
}
}
public void removeAppenderEvent(Category cat, Appender appender) {
}
}
为了更好地理解 appender 的生命周期以及一些决定,可以使用 UML 顺序图(UML Sequence Diagram)。图 1 显示了创建和配置 PluginFileAppender 实例的事件顺序。
Figure 1. PluginFileAppender 配置顺序图
查看原图(大图)
对于这个 appender 来说,我们对 org.apache.log4j.RollingFileAppender 进行了扩展。这不但允许您自由对文件进行操作,而且还提供了很多有用特性,例如文件大小的上限;当达到文件上限时,日志自动重叠写入另一个文件。
通过选择对 RollingFileAppender 进行扩展,您还需要对其行为进行正确处理。当 Log4j 创建 appender 之后,就会调用“setter”方法从配置文件中对其属性进行初始化,然后调用 activateOptions() 方法让附加程序完成未完成的任何初始化操作。在进行这项操作时, RollingFileAppender 实例会调用 setFile() ,它将打开日志文件并准备好写入日志。只有此时 Log4j 才会通知 PluginEventListener 实例。
- ››Eclipse+SVN+Google Code配置过程
- ››添加文字广告的解决方案
- ››eclipse中开发android程序时,打开layout配置文件自...
- ››添加您自己的 GIMP 特性
- ››Eclipse快捷键大全
- ››Eclipse Helios 之旅:看看 Eclipse 的最新同步发...
- ››Eclipse和MyEclipse的关系
- ››Eclipse 环境下的 OpenSocial 开发:通过 Shindig...
- ››Eclipse 向导机制扩展 -- 实现可定制的向导
- ››Eclipse 中的 EJB V3.0 数据库持久化
- ››Eclipse 常用快捷键
- ››Eclipse 插件开发 -- 深入理解菜单(Menu)功能...
更多精彩
赞助商链接