WEB开发网
开发学院软件开发Java 为 Eclipse 插件添加日志框架:两种增强 Eclipse ... 阅读

为 Eclipse 插件添加日志框架:两种增强 Eclipse 日志功能的方法

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: 清单 3. PluginEventListener 类privateclassPluginEventListenerimplementsHierarchyEventListener{publicvoidaddAppenderEvent(Categorycat,Appenderappender){


清单 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 配置顺序图
为 Eclipse 插件添加日志框架:两种增强 Eclipse 日志功能的方法

查看原图(大图)

对于这个 appender 来说,我们对 org.apache.log4j.RollingFileAppender 进行了扩展。这不但允许您自由对文件进行操作,而且还提供了很多有用特性,例如文件大小的上限;当达到文件上限时,日志自动重叠写入另一个文件。

通过选择对 RollingFileAppender 进行扩展,您还需要对其行为进行正确处理。当 Log4j 创建 appender 之后,就会调用“setter”方法从配置文件中对其属性进行初始化,然后调用 activateOptions() 方法让附加程序完成未完成的任何初始化操作。在进行这项操作时, RollingFileAppender 实例会调用 setFile() ,它将打开日志文件并准备好写入日志。只有此时 Log4j 才会通知 PluginEventListener 实例。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Eclipse 插件 添加

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接