本章簡要說明如何配置記錄並檢視伺服器記錄。它包含以下小節:
Application Server 使用 JSR 047 中指定的 Java EE 平台記錄 API。Application Server 記錄訊息記錄在伺服器記錄中,通常位於 domain-dir/logs/server.log。當記錄自動重建時,Application Server 會建立名為 server.log 的全新空白檔案,並將舊檔案重新命名為 server.log_date,其中 date 是檔案自動重建的日期和時間。
domain-dir/logs 目錄中除了包含伺服器記錄之外,還包含兩種其他類型的記錄。access 子目錄中包含 HTTP 服務存取記錄,tx 子目錄中包含作業事件服務記錄。如需有關這些記錄的資訊,請參閱配置作業事件。
Application Server 的元件可產生記錄輸出。應用程式元件也可以產生記錄輸出。
應用程式元件可以使用 Apache Commons Logging Library 來記錄訊息。但是,建議採用平台標準 JSR 047 API 以獲得更好的記錄配置。
記錄檔的記錄遵循以下統一格式:
[#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version|LoggerName|Key Value Pairs|Message|#]
例如︰
[#|2006-10-21T13:25:53.852-0400|INFO|sun-appserver9.1|javax.enterprise. system.core|_ThreadID=13;|CORE5004: Resource Deployed: [cr:jms/DurableConnectionFactory].|#]
在此範例中,
[# 和 #] 標示該記錄的開頭和結尾。
垂直線 (|) 用於分隔記錄欄位。
2006-10-21T13:25:53.852-0400 指定日期和時間。
Log Level 為 INFO。此層級可以是以下任何值:SEVERE、WARNING、INFO、CONFIG、FINE、FINER 和 FINEST。
ProductName-Version 為 sun-appserver9.1。
LoggerName 是一種階層式記錄程式名稱空間,用於識別記錄模組來源,在此例中為 javax.enterprise.system.core。
Key Value Pairs 為鍵名和鍵值,通常為執行緒 ID,例如 _ThreadID=14;。
Message 是記錄訊息的文字。對於所有的 Application Server SEVERE 和 WARNING 訊息以及多種 INFO,它均以包含模組代碼和數值的訊息 ID 開頭 (在此範例中為 CORE5004)。
以後的版本中,可能會變更或增強記錄檔的記錄格式。
Application Server 為它的每個模組都提供了記錄程式。下表依照字母順序,列出模組名稱和每個記錄程式的名稱空間,如管理主控台 [記錄層級] 頁面所示 (請參閱配置記錄層級)。[記錄層級] 頁面中未顯示表中最後三個模組。
表 17–1 Application Server 記錄程式名稱空間
模組名稱 |
名稱空間 |
---|---|
管理 |
javax.enterprise.system.tools.admin |
類別載入程式 |
javax.enterprise.system.core.classloading |
配置 |
javax.enterprise.system.core.config |
連接器 |
javax.enterprise.resource.resourceadapter |
CORBA |
javax.enterprise.resource.corba |
部署 |
javax.enterprise.system.tools.deployment |
EJB 容器 |
javax.enterprise.system.container.ejb |
群組管理服務 (僅限叢集和企業設定檔) |
javax.ee.enterprise.system.gms |
JavaMail |
javax.enterprise.resource.javamail |
JAXR |
javax.enterprise.resource.webservices .registry |
JAXRPC |
javax.enterprise.resource.webservices.rpc |
JAXWS |
javax.enterprise.resource.webservices.javaws |
JBI |
com.sun.jbi |
JMS |
javax.enterprise.resource.jms |
JTA |
javax.enterprise.resource.jta |
JTS |
javax.enterprise.system.core.transaction |
MDB 容器 |
javax.enterprise.system.container.ejb.mdb |
命名 |
javax.enterprise.system.core.naming |
持續性 |
oracle.toplink.essentials、javax.enterprise.resource.jdo、javax.enterprise.system.container.cmp |
節點代理程式 (僅限叢集和企業設定檔) |
javax.ee.enterprise.system.nodeagent |
根 |
javax.enterprise |
SAAJ |
javax.enterprise.resource.webservices.saaj |
安全性 |
javax.enterprise.system.core.security |
自我管理 |
javax.enterprise.system.core.selfmanagement |
伺服器 |
javax.enterprise.system |
同步化 (僅限叢集和企業設定檔) |
javax.ee.enterprise.system.tools .synchronization |
Util |
javax.enterprise.system.util |
檢驗器 |
javax.enterprise.system.tools.verifier |
Web 容器 |
javax.enterprise.system.container.web org.apache.catalina org.apache.coyote org.apache.jasper |
本小節包含下列主題:
若要使用管理主控台配置一般記錄設定:
如需有關開發者設定檔的資訊,請移至 [Application Server] -> [記錄] -> [一般]
如需有關叢集和企業設定檔的資訊,請移至 [配置] -> [配置] -> [記錄設定] -> [一般]
在 [一般] 頁面上,依據您的需求,輸入適當值以自訂記錄。停止並重新啟動 Application Server。
如需設定各種配置參數的詳細資訊,請在管理主控台中按一下 [說明]。
若要以 asadmin 配置這些記錄設定,請使用 get 和 set 指令。
若要使用管理主控台配置記錄層級:
如需有關開發者設定檔的資訊,請移至 [Application Server] -> [記錄] -> [記錄層級],
如需有關叢集和企業設定檔的資訊,請移至 [配置] -> [配置] -> [記錄] -> [記錄設定] -> [記錄層級]
為此頁面上所列出的模組設定記錄層級。使用 [附加特性] 區域可以為任何應用程式記錄程式配置記錄層級。如需有關模組記錄程式清單的資訊,請參閱記錄程式名稱空間階層結構。
如需設定各種配置參數的詳細資訊,請在管理主控台中按一下 [說明]。
若要在 asadmin 中配置這些記錄設定,請使用 get 和 set 指令。
若要檢視記錄檔:
在開發者設定檔中,移至 [應用程式伺服器] -> [記錄] -> [檢視記錄檔]。
在叢集和企業設定檔中,移至 [配置] -> [配置] -> [記錄程式設定] -> [一般],再按一下 [檢視記錄檔]。
使用 [搜尋條件] 區域所提供的選項,依據您的喜好設定顯示記錄結果。
實例名稱 — 從下拉式清單中選擇一個實例名稱,以檢視該伺服器實例的記錄。預設值為目前伺服器實例。
記錄檔 — 從下拉式清單中選擇一個記錄檔名稱,以檢視該記錄的內容。預設為 server.log。
時間戳記 — 若要檢視最新的訊息,請選取 [最新] (預設)。如果只檢視特定時間段內的訊息,請選取 [特定範圍] 並在顯示的 [從] 欄位和 [到] 欄位中鍵入日期和時間值。對於時間值,其語法必須採用以下格式 (SSS 表示毫秒):
hh:mm:ss.SSS |
例如︰
17:10:00.000 |
如果 [從] 欄位中的時間值遲於 [到] 欄位中的時間值,將顯示錯誤訊息。
記錄層級 — 若要依照記錄層級篩選訊息,請從下拉式清單中選擇一種記錄層級。依預設,將顯示伺服器記錄中選取記錄層級和更嚴重記錄層級的所有訊息。選取標有 [不包含更高層級的訊息] 的核取方塊,可僅顯示所選層級的訊息。
若要確定您要檢視的訊息都顯示在伺服器記錄中,請先在 [記錄層級] 頁面中設定適當的記錄層級。請參閱配置記錄層級。
如果您選擇基於記錄層級篩選記錄訊息,則將只顯示符合指定篩選條件的訊息。不過,這種篩選不影響那些記錄到伺服器記錄中的訊息。
將顯示伺服器記錄中最新的 40 個項目以及在 [記錄設定] 和 [記錄層級] 頁面中指定的設定。
按一下 [時間戳記] 標頭旁邊的箭頭對這些訊息進行排序,使最新的訊息顯示在最後。
若要檢視訊息的格式化版本,請按一下標示的連結
(details) |
將顯示標有 [記錄項目詳細資訊] 的視窗,該視窗包含了訊息的格式化版本。
在項目清單的末尾,按一下按鈕以檢視記錄檔中較早或較晚的項目。
按一下 [搜尋條件] 區域中的 [進階搜尋] 以進一步細化記錄檢視器的搜尋條件。使用如下所示的 [進階選項] 欄位:
記錄程式 — 若要依模組進行篩選,請從下拉式清單中選擇一個或多個名稱空間。按住 Shift 鍵並按一下或按住 Ctrl 鍵並按一下來選擇多個名稱空間。
選取更高層級的名稱空間也就選取了該名稱空間下的所有名稱空間。例如,選取 javax.enterprise.system 的同時也就選取了該名稱空間下所有模組的記錄程式:javax.enterprise.system.core、javax.enterprise.system.tools.admin 等等。
自訂記錄程式 — 若要檢視特定於某個特定應用程式的記錄程式中的訊息,請在文字欄位中鍵入記錄程式名稱 (每行一個名稱)。如果應用程式具有多個模組,您可以檢視任何模組,也可以檢視所有模組。例如,假定應用程式具有使用以下名稱的記錄程式:
com.mycompany.myapp.module1 com.mycompany.myapp.module2 com.mycompany.myapp.module3 |
若要檢視應用程式中所有模組的訊息,請鍵入 com.mycompany.myapp。若要僅檢視 module2 的訊息,請鍵入 com.mycompany.myapp.module2。
如果指定了一個或多個自訂記錄程式,則僅當您在 [記錄程式] 區域中明確指定 Application Server 模組的訊息後,才會顯示這些訊息。
名稱值對 — 若要檢視特定執行緒的輸出,請在文字欄位中鍵入該執行緒的鍵名和鍵值。鍵名為 _ThreadID。例如︰
_ThreadID=13 |
假定 com.mycompany.myapp.module2 在多個執行緒中執行。若要限制記錄檢視器使其只顯示單一執行緒的輸出,請在 [自訂記錄程式] 欄位中指定該模組的記錄程式,然後在此欄位中指定執行緒 ID。
顯示 — 若要一次檢視 40 條以上的訊息 (預設),請從下拉式清單中選擇其他可用的值 (100、250 或 1000)。
若要檢視堆疊追蹤,請取消選取 [限制過長訊息] 核取方塊。依預設,檢視器中不會顯示堆疊追蹤;若要檢視堆疊追蹤,請按一下訊息的 [(詳細資訊)] 連結。
按一下 [基本搜尋] 可以隱藏 [進階選項] 區域。