<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    嘟嘟

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      26 Posts :: 0 Stories :: 6 Comments :: 0 Trackbacks
    Platform: Eclipse 3.2

    開發任何軟件都不得不處理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對象,這個對象就可以把Exception和Log記錄到Error Log View中。ILog對象最主要的方法就是log了,顧名思義,它接收一個IStatus類型的對象,并把其代表的狀態記錄下來。Eclipse和許多常用的插件(如JDT)實現了很多的IStatus,最common的就是Status類,我們可以簡單地使用它,或創建自己的IStatus實現。Status的構造函數有5個參數,具體如下:
    • int severity:日志的級別,可以是OK、ERROR、INFO、WARNING或CANCEL。這些常量都定義在Status類中。
    • String pluginId:當前Plug-in的ID。
    • int code:Plug-in指定的狀態碼,一般如果無需指定,則使用Status.OK。
    • String message:日志信息。
    • Throwable exception:記錄的Exception,如果沒有Exception,則傳入null。
    這樣的話,我們就可以編寫一個LogUtil類來負責日志工作,代碼如下:

    <!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
    import org.eclipse.core.runtime.ILog;
    import org.eclipse.core.runtime.Status;

    public class LogUtil {

        
    private static LogUtil instance = null;

        
    private ILog logger = null;

        
    private LogUtil() {
            logger = Activator.getDefault().getLog();
        }

        
    public static LogUtil getInstance() {
            
    if (instance == null) {
                instance = 
    new LogUtil();
            }

            
    return instance;
        }

        
    public void log(int severity, String message, Throwable exception) {
            logger.log(
    new Status(severity, Activator.getDefault().getPluginID(),
                    Status.OK, message, exception));
        }

        
    public void logCancel(String message, Throwable exception) {
            logger.log(
    new Status(Status.CANCEL, Activator.getDefault()
                    .getPluginID(), Status.OK, message, exception));
        }

        
    public void logError(String message, Throwable exception) {
            logger.log(
    new Status(Status.ERROR, Activator.getDefault()
                    .getPluginID(), Status.OK, message, exception));
        }

        
    public void logInfo(String message, Throwable exception) {
            logger.log(
    new Status(Status.INFO,
                    Activator.getDefault().getPluginID(), Status.OK, message,
                    exception));
        }

        
    public void logOk(String message, Throwable exception) {
            logger.log(
    new Status(Status.OK, Activator.getDefault().getPluginID(),
                    Status.OK, message, exception));
        }

        
    public void logWarning(String message, Throwable exception) {
            logger.log(
    new Status(Status.WARNING, Activator.getDefault()
                    .getPluginID(), Status.OK, message, exception));
        }
    }

    除此之外,我們還可以通過ILog的addLogListener方法和removeLogListener方法為日志動作添加和刪除事件監聽器。這些Listener可以幫助我們在日志記錄完成后做一些額外的事情。例如,如果記錄的是ERROR級別的Log,那么我們可能要彈出一個Alert對話框告訴用戶出現了錯誤,但如果是INFO級別,就沒這個必要了。

    posted on 2007-05-17 19:17 fyp1210 閱讀(342) 評論(0)  編輯  收藏 所屬分類: eclipse plugin

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 中文字幕无码不卡免费视频| 亚洲熟妇无码av另类vr影视| 成年免费大片黄在线观看com| 韩国免费三片在线视频| 亚洲免费观看网站| 免费看黄视频网站| 7777久久亚洲中文字幕| 丁香花免费完整高清观看| 77777午夜亚洲| 日韩中文字幕在线免费观看| A国产一区二区免费入口| 九月婷婷亚洲综合在线| 免费一级全黄少妇性色生活片| 亚洲国模精品一区| a毛片在线还看免费网站| 亚洲最大成人网色| 男女免费观看在线爽爽爽视频| 亚洲精品国产啊女成拍色拍| 中文字幕无码视频手机免费看| 久久久久亚洲国产AV麻豆| 亚洲天堂中文字幕在线| 日本黄色动图免费在线观看| 亚洲精品视频久久| 日韩毛片无码永久免费看| 男人扒开添女人下部免费视频| 亚洲日韩激情无码一区| 99re在线精品视频免费| 亚洲狠狠婷婷综合久久蜜芽| 亚洲精品国产V片在线观看| 日本一区二区免费看| 亚洲一日韩欧美中文字幕在线| 亚洲A∨精品一区二区三区| 无码人妻久久一区二区三区免费| 亚洲天堂一区在线| 免费成人在线观看| 99国产精品视频免费观看| 久久精品国产亚洲AV未满十八| 亚洲人成人网站色www| 毛片免费观看的视频| 中国国语毛片免费观看视频| 亚洲一区免费在线观看|