Liberty 中配置特性的追蹤和記載

您可以使用 Liberty 中用於 Liberty 特性的追蹤和記載機制。記載服務是 Liberty 核心的一部分,因此您不需要在 server.xml 檔中指定特性即可使用。

關於這項作業

Liberty 提供下列 SPI,以在自訂特性碼中整合追蹤和記載:
com.ibm.websphere.ras
com.ibm.websphere.ras 套件提供了用來記載訊息及追蹤記錄的類別,以及一些延伸點。 一般而言,特性碼可以使用 java.util.logging 套件來記載追蹤和訊息,並透過 Liberty 記載配置來控制輸出,但 WebSphere® 套件的延伸功能有時候非常有用,而當追蹤已停用時,追蹤保護會稍微更有效率。
com.ibm.websphere.ras.annotations
com.ibm.websphere.ras.annotations 套件提供了一些註釋,可搭配其他套件中的類別使用。例如,@Sensitive 註釋可以用來避免已標註變數的內容出現在追蹤或訊息輸出中。
com.ibm.ws.ffdc
com.ibm.ws.ffdc 套件提供了一些機能來寫入首次失敗資料擷取 (FFDC) 記錄,以協助除錯非預期的異常狀況。
com.ibm.wsspi.logging
com.ibm.wsspi.logging 套件提供了日誌和 ffdc 記錄的攔截點。

每一個 Liberty SPI 的 Java™ API 說明文件都詳述於資訊中心的程式設計介面 (Javadoc) 一節,也以個別的 .zip 檔來提供(其位於 ${wlp.install.dir}/dev 目錄下的其中一個 javadoc 子目錄中)。

程序

下列步驟展示如何配置稱為 myfeatureLiberty 特性範例來使用 Liberty 的追蹤和記載機制:

  1. 指定 myfeature 特性的訊息檔位置,以及 com.ibm.websphere.ras.TraceComponent 類別所需要之群組的名稱。
    import java.util.ResourceBundle;
    
    public class myFeatureConstants {
    
        public static final String TR_RESOURCE_BUNDLE =
            "com.mycompany.myFeature.internal.resources.FeatureMessages";
    
        public static final String TR_GROUP = "myFeature";
    
        public static final ResourceBundle messages = ResourceBundle.getBundle(TR_RESOURCE_BUNDLE);
    
    }
  2. 在特性服務代碼的實作類別中,呼叫 com.ibm.websphere.ras.TraceComponent 類別的 register() 方法,向 Liberty 提供的追蹤管理程式登錄實作類別。之後,您可以配置追蹤管理程式來追蹤特性的 DS 方法。
    ...
    import com.ibm.websphere.ras.Tr;
    import com.ibm.websphere.ras.TraceComponent;
    
    
    public class myFeatureServiceImpl {
    
        private static final TraceComponent tc = Tr.register(myFeatureServiceImpl.class);
    
    
        protected void activate(ComponentContext cc, Map<String, Object> newProps) {
            if (tc.isDebugEnabled()) {
                Tr.debug(tc, "myFeatureComponentImpl activated"); }
    ...
  3. 利用 TraceOptions 註釋來指定追蹤群組名稱及訊息組合名稱。
    @TraceOptions(traceGroup = myFeatureConstants.TR_GROUP, messageBundle = 
        myFeatureConstants.TR_RESOURCE_BUNDLE)
    package com.mycompany.myFeature;
    
    import com.ibm.websphere.ras.annotation.TraceOptions;
    import com.mycompany.myfeature.internal.myFeatureConstants;
    ...

指示主題類型的圖示 作業主題

檔名:twlp_feat_logging.html