Message Queue 提供者會定義一組與記錄層級和記錄作業相關的記錄名稱空間,可在適當設定記錄配置時,讓 Message Queue 用戶端記錄連線與階段作業事件。
Message Queue 用戶端執行階段的根記錄名稱空間定義為 javax.jms。Message Queue 用戶端執行階段的所有記錄程式皆使用此名稱做為父系名稱空間。
Message Queue 用戶端執行階段使用的記錄層級與 java.util.logging.Level 類別中所定義的記錄層級相同。此類別會定義七個標準記錄層級,以及可用於啟動與關閉記錄的兩個其他設定。
關閉記錄。
最高優先權、最高值。由應用程式定義。
由應用程式定義。
由應用程式定義。
由應用程式定義。
由應用程式定義。
由應用程式定義。
最低優先權、最低值。由應用程式定義。
啟用所有訊息的記錄。
一般來說,Message Queue 用戶端執行階段中發生的異常與錯誤,皆由記錄程式使用 javax.jms 名稱空間所記錄。
從 JVM 丟出且由用戶端執行階段截獲的異常 (例如 IOException),是由記錄程式使用記錄名稱空間 javax.jms 記錄在 WARNING 層級。
從用戶端執行階段丟出的 JMS 異常 (例如 IllegalStateException),是由記錄程式使用記錄名稱空間 javax.jms 記錄在 FINER 層級。
從 JVM 丟出且由用戶端執行階段截獲的錯誤 (例如 OutOfMemoryError),是由記錄程式使用記錄名稱空間 javax.jms 記錄在 SEVERE 層級。
下表列出可記錄的事件,以及必須設定的記錄層級以記錄 JMS 連線與階段作業事件。
下表說明連線的記錄層級與事件。
表 1–6 javax.jms.connection 名稱空間的記錄層級與事件
記錄層級 |
事件 |
---|---|
FINE |
已建立連線 |
FINE |
已啟動連線 |
FINE |
已關閉連線 |
FINE |
已中斷連線 |
FINE |
已重新連線 |
FINER |
其他連線作業,例如 setClientID |
FINEST |
訊息、確認、Message Queue 動作與控制訊息 (如正在確定作業事件) |
下列階段作業資訊會記錄在記錄中。
傳送給用戶的每筆訊息記錄包含 ConnectionID、SessionID 和 ConsumerID。
由產生器傳送的每筆訊息記錄包含 ConnectionID、SessionID、ProducerID 和目標名稱。
下表說明階段作業的記錄層級與事件。
表 1–7 javax.jms.session 名稱空間的記錄層級與事件
記錄層級 |
事件 |
---|---|
FINE |
已建立階段作業 |
FINE |
已關閉階段作業 |
FINE |
已建立產生器 |
FINE |
已建立用戶 |
FINE |
已建立目標 |
FINER |
其他階段作業,例如正在確定階段作業。 |
FINEST |
已產生並使用訊息。(訊息特性與內文不會記錄在記錄中) |
根據預設,會從應用程式執行所在的 JRE 繼承輸出記錄層級。請檢查 JRE_DIRECTORY/lib/logging.properties 檔案以判斷該層級為何。
您可以程式化方式或藉由使用配置檔案來配置記錄功能,且可控制記錄發生的範圍。以下小節說明這些可能的作業。