<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无码久久精品色欲| 中文字幕亚洲精品无码| 最近中文字幕完整版免费高清| 国产亚洲精品拍拍拍拍拍| 九九免费精品视频在这里| 亚洲AV伊人久久青青草原| 免费一级全黄少妇性色生活片| 国产三级电影免费观看| 国产成人精品亚洲| 亚洲一级特黄大片在线观看| 九一在线完整视频免费观看| 亚洲中文字幕无码一区二区三区 | 免费很黄无遮挡的视频毛片| 免费一级特黄特色大片在线观看| 相泽南亚洲一区二区在线播放| 国产无遮挡吃胸膜奶免费看| 特级aa**毛片免费观看| 亚洲色一色噜一噜噜噜| a级毛片毛片免费观看久潮喷| 亚洲成av人片在线观看无码不卡| 99在线视频免费| jlzzjlzz亚洲jzjzjz| 日本一道高清不卡免费| gogo免费在线观看| 亚洲好看的理论片电影| 久久99九九国产免费看小说| 校园亚洲春色另类小说合集| 相泽亚洲一区中文字幕| 午夜影院免费观看| 亚洲一区二区三区丝袜| 精品国产亚洲男女在线线电影| 久久精品国产免费| 亚洲18在线天美| 亚洲日韩人妻第一页| 5g影院5g天天爽永久免费影院| 亚洲午夜在线一区| jlzzjlzz亚洲乱熟在线播放| 亚洲免费视频播放| 又大又硬又粗又黄的视频免费看| 久久亚洲私人国产精品|