商業程序錯誤 XML 日誌配接器
「商業程序錯誤 XML 日誌」配接器提供自訂日誌給商業程序,可讀取已建立的日誌以格式化或進行處理。
下表提供「商業程序錯誤 XML 日誌」配接器的概觀:
系統名稱 | BPFaultLogXML |
---|---|
圖形程序建模器 (GPM) 種類 | 所有服務 |
說明 | 可讓商業程序撰寫者將商業特定訊息記載到 XML 格式的檔案中。每一個日誌項目是一個 XML 文件片段。 |
商業用途 | 使用這項服務可提供自訂日誌給商業程序。這也可以用來讀取已建立的日誌來格式化或處理。 |
用途範例 | 您撰寫了一個大型 BPML 來處理小組件,並且想要針對日誌提供意見來追蹤處理程序或任何發生的錯誤。可讀取所產生的 XML 來格式化。 典型讀取範例是使用 XSLT 讀取及格式化成 HTML。 |
是否已預先配置? | 否 |
是否需要第三方檔案? | 無 |
平台可用性 | 所有受支援的平台 |
相關服務 | 無 |
應用程式需求 | 指定磁碟上的位置來傳送及檢視日誌。 |
是否起始商業程序? | 否 |
呼叫 | 必須是商業程序中或 on-fault 處理程式中的一個步驟。 |
商業程序環境定義考量 | 以「寫入」作業而言:當設為發生錯誤時失敗,商業程序環境定義狀態會設為「錯誤」。 |
返回的狀態值 | 返回的狀態值:
註: 以「寫入」作業而言,這個配接器一律傳回「成功」狀態,因為它通常是商業程序的非重要部分。如果發生失敗,會記載它,但商業程序會繼續。
|
限制 | 無 |
持續性層次 | 預設值 |
測試考量 | 無 |
實作商業程序錯誤 XML 日誌配接器
如果要實作「商業程序錯誤 XML 日誌」配接器,請完成下列作業:
- 建立「商業程序錯誤 XML 日誌」配接器配置。
- 配置「商業程序錯誤 XML 日誌」配接器。
- 在商業程序中使用「商業程序錯誤 XML 日誌」配接器。
配置商業程序錯誤 XML 日誌配接器
如果要配置「商業程序錯誤 XML 日誌」配接器,您必須在 GPM 中指定欄位設定:
欄位 | 說明 |
---|---|
Config | 服務配置的名稱。 |
action | 有效值包括:
|
combineLog | 有效值包括:
|
fail-on-error | 如果記載錯誤,是否使商業程序失敗。選用。有效值為 True 和 False。僅用於「寫入」作業。如果此參數是設為 True,且記載層次參數是設為「錯誤」,則商業程序狀態設為「錯誤」,且商業程序進階狀態是設為日誌訊息中的值。這可讓您強迫平常成功的商業程序失敗(根據無效商業程序資料)。 |
includeBody | 是否包括錯誤訊息及資料主體。必要。僅用於「寫入」作業。包括主體時,只包括前 2048 個位元組。有效值包括:
|
log-level | 日誌類型。必要。僅用於「寫入」作業。值為:
註: 您可以將自訂記載層次新增至 GPM 的這份清單中,或在商業程序編輯器中編輯商業程序。
|
log-message | 您要傳送至日誌的訊息。必要。僅用於「寫入」作業。 |
loggerName | 日誌的名稱。必要。建立在「日誌程式輸出路徑」中的檔案具有此名稱及副檔名 .log。用於「讀取」及「寫入」作業。 |
loggerPath | 用來將日誌寫入檔案中的路徑。必要。用於「讀取」及「寫入」作業。有效值為有效的完整路徑。 |
logType | 選取日誌類型。必要。僅用於「寫入」作業。有效值為「正常」和「累計」。 |
maxLogSize | 累計的日誌大小上限(以位元組為單位)。如果您在服務配置中選取「累計」作為日誌類型,則為必要。 僅用於「寫入」作業。有效值為大於零的數字。 |
商業程序範例
下列範例顯示如何在商業程序中使用「商業程序錯誤 XML 日誌」配接器:
<process name="default">
<operation name="BPFaultLogXML">
<participant name="mybpfaultxmllog"/>
<output message="BPFaultLogXMLInputMessage">
<assign to="action">WRITE</assign>
<assign to="combineLog">false</assign>
<assign to="fail-on-error">true</assign>
<assign to="includeBody">true</assign>
<assign to="log-level">DEBUG</assign>
<assign to="log-message">hello log</assign>
<assign to="loggerName">testlog.log</assign>
<assign to="loggerPath">/home/user/</assign>
<assign to="logType">normal</assign>
<assign to="."
from="*"></assign>
</output>
<input message="inmsg">
<assign to="."
from="*"></assign>
</input>
</operation>
</process>