`
文章列表

封装log工具类

本文是转载网上的一篇文章   对于开发和调试以及上线运营,日志必不可少,常用日志工具有:Log4j、common-logging、甚至System.out。这里用Log4j为例,说说如何将日志输出和业务代码做到最大分离。(篇幅不长,最后是源代码) Logger4j 一般使用方法:1.定义配置文件:log4j.properties2.在需要输出日志的类里获取Logger实例:Logger loger = Logger.getLogger(AAA.class);3.输出日志:loger.debug("test"); 大家这么做都已经轻车熟路了,但是这样做有两个问题 ...
通过扩展FileAppender类的方式,定制属于自己的相对路径起始位置: 1.扩展属于自己的FileAppender类,并重载setFile方法   public class RelativePathDailyRollingFileAppender extends DailyRollingFileAppender{ /** * 获取eclipse的运行时工作空间根路径 */ public static String RELATIVE_PATH = Platform.getLocation().toString() + "/"; ...
  1. 得到某PLUGIN的路径:    Platform.getBundle("mypluginid").getLocation()   2.eclipse采用osgi后好像还可以: (前提是这个插件有Activator这个类.这个类继承了ECLIPSE的Plugin类)   Activator.getDefault().getBundle().getLocation()   3.eclipse采用osgi前好像好像是: (前提是这个插件有MyPlugin这个类.这个类继承了ECLIPSE的Plugin类)   MyPlugin.getDef ...
开发任何软件都不得不处理 Exception 和 Log,Eclipse Plug-in 也是如此。不过幸运的是,Eclipse PDE 提供了记录及显示Exception和Log的机制:Error Log View。作为 Eclipse SDK 的一部分,PDE 的普及率很高,所以除非你是要做 RCP,不然的话用 Error Log View处理 Exception 和 Log 应该是你的最佳选择。当然,这也带来了对 PDE 的依赖性。使用 Error Log View实际上非常简单,每个 Plug-in 的 Activator 类都有一个 getLog() 方法,返回一个 ILog 对象,这 ...
  本文主要解释log4j的配置文件各个配置项的含义,内容是从网上转载的 第1章. Log4j 的优点    
为什么同时使用commons-logging和Log4j? Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口,它自身的日志功能平常弱(只有一个简单的SimpleLog?),所以一般不会单独使用它。 Log4j的功能非常全面强大,是目前的首选。我发现几乎所有的Java开源项目都会用到Log4j,但我同时发现,所有用到Log4j的项目一般也同时会用到commons-loggin。我想,大家都不希望自己的项目与Log4j绑定的太紧密吧。另外一个我能想到的“同时使用commons-logging和Log4j”的原因是,简化使用和配置。        强调一点, ...
如何在插件开发中正确使用第三方jar包 问题描述  很多开发人员在eclipse插件开发中,经常会遇到第三方jar包无法访问的问题,或者是明明在开发环境中一切正常,导出插件到了运行环境时却出现"NoClassDefFoundError"异常等诸多问题。  本文结合笔者插件开发遇到的问题,谈谈插件开发过程中应该如何正确配置第三方jar包。解决过程在一般插件项目中添加第三方jar包:  1. 创建你的插件项目,并新建一个文件夹放置你需要的第三方jar包,如:<project>/lib。  2. 从文件系统中导入或拷贝jar包至<project& ...
1.org.eclipse.ui.console.consoleFactories 该扩展点用于实现一个console工厂类,需要实现IConsoleFactory借口。   2. org.eclipse.ui.console.consolePatternMatchListeners   该扩展点需要实现org.eclipse.ui.console.IPatternMatchListenerDelegate接口,主要功能是通过正则表达式匹配console中的每一行,对匹配的行作出操作(比如增加文件链接)   3. org.eclipse.core.variables.dynam ...
关于Eclipse   RCP入门的教程网络上已经有很多了,但是关于运行exe文件时出现java.lang.RuntimeException:   Could   not   find   framework或No   application   id   has   been   found的问题却很难找到正确的答案。经过本人一番艰苦的奋斗,终于弄清楚了问题的根源 出现java.lang.RuntimeException:   Could   not   find   framework这个异常通常是由于没有导入必要的jar包引起的。但是如何知道哪些jar包是必须的呢?一个简单的办法就是 1, ...
屏蔽RCP编辑的快捷键: Eclipse 3.0之前的版本使用如下方法:     IWorkbench.getContextSupport().setKeyFilterEnabled(false);   Eclipse 3.0之后的版本使用如下的方法:     ((IBindingService)IWorkbench.getAdapter(IBindingService.class)).setKeyFilterEnabled(false);ExternalActionManager.getInstance().setCallback(null);加上这句话后可使写在程序中的快捷键 ...

SWT基础(二)

    博客分类:
  • SWT
窗口小部件:widget 部件的外观是通过绘制显示出来的,通过绘制操作来维持部件的状态。用户可以通过界面交互和代码控制的方式,改变部件的状态,部件的状态一旦改变,就会立即重绘。   shell SWT.BORDER //建立一个有边框 ...
Display: Display类负责在应用程序和本地操作系统之间建立交互.一般来说,一个应用系统只要创建一个Display的实例,创建Display实例的同时也就启动了一个专有的线程,该线程将执行时间循环,并且保持UI线程.关于Display类的构造方法和其他的方法可以查阅SWT的API. 所有的系统消息首先被display截取,然后他会根据传入的hwnd,定位到相应的Control ,交由Control来处理。Control处理消息的时候,会根据消息的类型,转化为SWTEventObject对象,然后通知消息监听者。这样一来底层消息就转化为SWT的事件对象了。   如果你 ...
“这就是天竺,不给力啊,老湿!” -----源自,西游记   自大话西游后,对西游记的又一次搞笑翻拍,只不过这次是日本人,作品为动漫。搞笑镜头一个接一个,再经过达人的原味中文配音后,搞笑氛围更是有值的提升。我想 ...
  1.使用事件管理服务 EventAdmin 前面讲过,OSGi 规范定义了很多可用的 bundle,您尽管使用它们完成您的工作,而不必另外再发明轮子,OSGi 框架定义的事件管理服务,类似于 JMS,但是使用上比 JMS 简单。 OSGi 整个框架都离不开这个服务 ,因为框架里面全都依靠事件机制进行通信,例如 bundle 的启动、停止,框架的启动、停止,服务的注册、注销等等等等都是会发布事件给监听者,同时也在监听其它模块发来的自己关心的事件。 OSGi 框架的事件机制主要核心思想是: 用户(程序员)可以自己按照接口定义自己的事件类型 用户可以监听自己关心的事件或者所有事件
1.注册一个自定义的服务: 1.定义一个服务,接口以及实现类。 2.把服务注册到OSGI框架中,OSGi 框架提供了两种注册方式,都是通过 BundleContext 类实现的:   registerService(String,Object,Dictionary) 注册服务对象 object 到接口名 String 下,可以携带一个属性字典Dictionary; registerService(String[],Object,Dictionary) 注册服务对象 object 到接口名数组 String[] 下,可以携带一个属性字典 Dictionary,即一个服务对象可以 ...
Global site tag (gtag.js) - Google Analytics