本章簡要說明如何配置記錄並檢視伺服器記錄。本章包含以下小節:
Application Server 使用 JSR 047 中指定的 Java 2 平台記錄 API。Application Server 記錄訊息記錄在伺服器記錄中,通常位於 domain-dir/logs/server.log 中。
domain-dir/logs 目錄中除了包含伺服器記錄之外,還包含兩種其他類型的記錄。access 子目錄中包含 HTTP 服務存取記錄,tx 子目錄中包含作業事件服務記錄。如需有關這些記錄的資訊,請查閱 Administration Console 線上說明。
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|#]
例如︰
[#|2004-10-21T13:25:53.852-0400|INFO|sun-appserver-e8.1|javax.enterprise. system.core|_ThreadID=13;|CORE5004: Resource Deployed: [cr:jms/DurableConnectionFactory].|#]
在本範例中,
[# 和 #] 標示該記錄的開頭和結尾。
垂直線 (|) 用於分隔記錄欄位。
2004-10-21T13:25:53.852-0400 指定了日期和時間。
Log Level 為 INFO。此層級可以是以下任何值:SEVERE、WARNING、INFO、CONFIG、FINE、FINER 和 FINEST。
ProductName-Version 為 sun-appserver-ee8.1。
LoggerName 是一種階層式記錄程式名稱空間,用於識別記錄模組來源,在此例中為 javax.enterprise.system.core。
Key Value Pairs 為鍵名和鍵值,通常為執行緒 ID,例如 _ThreadID=14;。
Message 是記錄訊息的文字。對於所有的 Application Server SEVERE 和 WARNING 訊息以及多種 INFO,它均以包含模組代碼和數值的訊息 ID 開頭 (在此範例中為 CORE5004)。
以後的版本中,可能會變更或增強記錄檔的記錄格式。
本小節說明如何為使用 java.util.logging 套裝軟體的應用程式配置自訂記錄層級,並存取 Application Server 的記錄子系統。
java.util.logging 套裝軟體提供階層式名稱空間,以供建立記錄程式實例。特定的記錄記錄是否要輸出至 Application Server 實例的記錄檔案,要看 [記錄記錄] 的記錄層級+H248,以及所指定的記錄層級而定。
Application Server 記錄程式設定配置提供超過二十種的記錄模組,允許對 Application Server 的內部記錄進行精密控制。另外還有一個可用來建立其他自訂記錄模組的選項,只要指定模組所要使用的模組名稱和記錄層級即可。
這裡的重點是,記錄程式為靜態名稱,且未提供繼承性。因此,若自訂記錄程式是以 com.someorg.app 名稱進行配置,而應用程式嘗試查找 com.someorg.app.submodule 記錄程式,則不提供繼承 com.someorg.app 設定的記錄程式。相反,com.someorg.app.submodule 會有預設的記錄程式,且其記錄層級會設定為 INFO 層級或更高。
若應用程式需要使用記錄程式繼承性,只要編輯用來執行 Application Server 之 Java 執行階段的 logging.properties 檔案,即可進行配置。例如,若將下列項目增加到 logging.properties 檔案,則會導致 com.someorg.app.submodule 在建立時即繼承相同的 FINE 層級:
com.someorg.app.level = FINE
如需有關 Java 記錄 API 的更多詳細資訊,請參閱 Java 文件,網址是 http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/package-summary.html,以及其他 java.util.logging 類別。
Application Server 為它的每個模組都提供了記錄程式。下表按照每個記錄程式的模組名稱和名稱空間之字母順序列出,如 Administration Console 的 [記錄層級] 頁面中所示。[記錄層級] 頁面中未顯示表中最後三個模組。
表 15–1 Application Server 記錄程式名稱空間
模組名稱 |
名稱空間 |
---|---|
管理 |
javax.enterprise.system.tools.admin |
Classloader |
javax.enterprise.system.core.classloading |
CMP |
javax.enterprise.system.container.cmp |
配置 |
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 |
JavaMail |
javax.enterprise.resource.javamail |
JAXR |
javax.enterprise.resource.webservices .registry |
JAX-RPC |
javax.enterprise.resource.webservices.rpc |
JDO |
javax.enterprise.resource.jdo |
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 |
節點代理程式 (僅限於 Enterprise Edition) |
javax.ee.enterprise.system.nodeagent |
根 |
javax.enterprise |
SAAJ |
javax.enterprise.resource.webservices.saaj |
安全性 |
javax.enterprise.system.core.security |
伺服器 |
javax.enterprise.system |
同步 (僅限於 Enterprise Edition) |
javax.ee.enterprise.system.tools .synchronization |
Util |
javax.enterprise.system.util |
檢驗器 |
javax.enterprise.system.tools.verifier |
Web 容器 |
javax.enterprise.system.container.web |
核心 |
javax.enterprise.system.core |
系統輸出 (System.out.println) |
javax.enterprise.system.stream.out |
系統錯誤 (System.err.println) |
javax.enterprise.system.stream.err |