設定 z/OS Connect 檔案系統日誌程式攔截程式

檔案系統日誌程式攔截程式可讓 z/OS Connect 使用者將要求資訊記載在檔案系統的檔案中。

關於這項作業

當您配置 zosConnect-1.0zosConnect-1.2 特性時,就可以使用此功能,但此功能需要配置。

表 1. 產生之日誌檔中的項目說明
項目 說明
DateTime 在服務呼叫之前,日誌程式攔截程式所計算的日期和時間
ThreadID 用來處理服務要求之執行緒的 ID
UserName 要處理其要求的使用者名稱
RequestID z/OS Connect 產生的要求追蹤 ID
RemoteAddress 發出原始要求之用戶端或傳送該要求之最後一個 Proxy 的網際網路通訊協定 (IP) 位址
LocalAddress 收到該要求之介面的網際網路通訊協定 (IP) 位址
MessageType 識別有效負載來自要求還是回應
MessageSize 有效負載的字元大小
MessageData 要求或回應的有效負載
*****************************************************************************
ServerName: com.ibm.ws.zos.connect.interceptor.logger.fs
*****************************************************************************
DateTime:2015-07-19_12-14-02 | ThreadId:47 | UserName:Fred | RequestID:0000000000000001000000000000000000000000000000 | 
RemoteAddress:127.0.0.1 | LocalAddress:127.0.0.1
MessageType:REQUEST
MessageSize:27
MessageData:{"payload":"HELLO_SERVICE"}

DateTime:2015-07-19_12-14-02 | ThreadId:47 | UserName:Fred | RequestID:0000000000000001000000000000000000000000000000 | 
RemoteAddress:127.0.0.1 | LocalAddress:127.0.0.1
MessageType:RESPONSE
MessageSize:26
MessageData:{"payload":"HELLO_CALLER"}

程序

  1. 廣域配置 fileSystemloggerInterceptor 元素。
    <fileSystemloggerInterceptor id="globalFileSystemLogger" logName="globalLog_%SERVERNAME%"/>
    <zosConnectInterceptors id="globalInterceptorList" interceptorRef="globalFileSystemLogger" />
    <zosConnectManager globalInterceptorsRef="globalInterceptorList/>

    在範例中,所有 z/OS Connect 服務要求都記載在稱為 globalLog_myServer1_yyyy-MM-dd_HH_mm_ss_SSS.log 的檔案,其中 myServer1 是伺服器的名稱。唯一的必要配置元素是 logName 屬性定義。此配置元素接受 %SERVERNAME% 字串,當建立日誌時,會以伺服器名稱取代此字串。預設日誌檔位置是 ${server.output.dir}/logs/zosConnect。如需可用配置屬性和預設值的相關資訊,請參閱 z/OS Connect 1.0z/OS Connect 1.2 的相關說明文件。

    您也可以為特定服務配置 fileSystemloggerInterceptor 元素。
     <fileSystemloggerInterceptor id="serviceYFileSystemLogger" 
                                     logName="service1Log" 
                                     logPath="/zosConnect/logs"
                                     logOption="RESPONSE"
                                     maxPayloadSize="30720"/>
    <zosConnectInterceptors id="serviceYInterceptorList" interceptorRef="serviceYFileSystemLogger" />
    <zosConnectService serviceName="serviceY" serviceRef="serviceY" interceptorsRef="serviceYInterceptorList"/>
    <usr_myService id="serviceY"/>

    在範例中,所有 z/OS Connect 服務要求都記載在稱為 service1Log_yyyy-MM-dd_HH_mm_ss_SSS.log 且位於 /zosConnect/logs 路徑的檔案中。日誌路徑是完整路徑。只會記載以 serviceY 為目標的所有送入要求的回應資料。 由於 JSON 有效負載上限配置成 30,720 個字元,只要 JSON(回應)有效負載超過 30,720 個字元,就會截斷成所配置的有效負載大小上限。

  2. (選用)配置 bufferedLoggingbufferSize 屬性定義,以啟用緩衝區記載。預設緩衝區大小是 8 KB。一旦緩衝區已滿,就會將緩衝區中的所有記錄沖寫至磁碟。如果您在意效能,並且可接受發生失敗情況時遺失未沖寫的記錄,就適合使用緩衝區記載。
     <fileSystemloggerInterceptor id="globalFileSystemLogger" 
                                     logName="globalLog_%SERVERNAME%"
                                     bufferedLogging="true"
                                     bufferSize="16384"/>
  3. (選用)配置 rollOffLogPolicy 屬性。這項原則指出當作用中日誌檔抵達指定或預設的檔案大小 50 MB 時,就會建立新檔案。此外,從建立作用中日誌檔算起,一旦過了指定的或預設時間(24 小時),也可以建立新檔案。在下列範例中,當檔案大小達到 16 KB 時,就會建立檔案。命名綱目相同:globalLog_myServer1_yyyy-MM-dd_HH_mm_ss_SSS.log。所建立日誌檔的名稱差異在於,建立給定檔案時所使用的時間戳記。
    <fileSystemloggerInterceptor id="globalFileSystemLogger" 
                                     logName="globalLog_%SERVERNAME%"
                                     rollOffLogPolicy="SIZE"
                                     rollOffLogPolicySize="16384"/>

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

檔名:twlp_zconnect_file_sys_log_int.html