「ロギング」は、構成エラー、セキュリティー障害、サーバーの不完全な動作といったサーバーの動作中に発生したイベントに関する情報を、Enterprise Server が取得するための処理です。このデータはログファイルに記録され、通常は問題が発生したときの主要な情報源となります。ログファイルの解析は、サーバーの健全性を判断する際に役立ちます。
アプリケーションコンポーネントでは Apache Commons Logging Library を使用してメッセージを記録することもできますが、より適切なログ構成を行うには、プラットフォーム標準の JSR 047 API をお勧めします。
ここでは、次のテーマを取り上げます。
Enterprise Server のログレコードはサーバーログに記録されます。デフォルトのサーバーログの名前は server.log で、通常は domain-dir/logs に保存されます。サーバーログのデフォルトの名前または場所は、管理コンソール を使用して変更できます。
サーバーログのほかに、domain-dir/logs ディレクトリには次のログも保存されます。
HTTP サービスアクセスログ (/access サブディレクトリ)
トランザクションサービスログ (/tx サブディレクトリ)
サーバーログのサイズが指定された値 (バイト単位) に達すると、ログはローテーションされ、タイムスタンプを付加した server.log_ date という名前に変更されます。date は、ファイルがローテーションされた日時を表します。ログファイルのローテーションは、「サーバーログのローテーション」の手順に従って手動で行うこともできます。
Enterprise Server のログレコードは、次の統一形式に従います。
|
[#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version|LoggerName|Key Value Pairs|Message|#] |
[# と #] はレコードの開始と終了をマーク付けします。
垂直線 (|) は、レコードのフィールドを区切ります。
yyyy-mm-ddThh:mm:ss.SSSS-Z は、レコードが作成された日時を表します。たとえば、2006-10-21T13:25:53.852-0400 です。
Log Level は、指定したログレベルを表します。ログレベルには、SEVERE、WARNING、INFO、CONFIG、FINE、FINER、および FINEST のいずれかの値を選択できます。デフォルトは、「INFO」です。
ProductName-Version は、Enterprise Server の現在のバージョンを表します。たとえば、glassfish です。
LoggerName は、ログモジュールのソースを識別する階層ロガーの名前空間です。たとえば、javax.enterprise.system.core です。
Key Value Pairs は、キーの名前と値のペア (通常はスレッド ID) を表します。たとえば、_ThreadID=14; です。
Message は、ログメッセージのテキストです。Enterprise Server のすべての SEVERE および WARNING のメッセージと、多くの INFO メッセージは、モジュールコードと数値で構成されるメッセージ ID で始まります。たとえば、CORE5004 です。
ログレコードの例を次に示します。
[#|2006-10-21T13:25:53.852-0400|INFO|GlassFish10.0|javax.enterprise. system.core|_ThreadID=13;|CORE5004: Resource Deployed: [cr:jms/DurableConnectionFactory].|#]
管理コンソール では、ログレコードがわかりやすい形式で表示されます。
list-logger-levels(1) サブコマンドを使用して、モジュールの既存のロガーを一覧表示できます。次に例を示します。
javax.enterprise.system.container.cmp: INFO javax.enterprise.system.tools.admin: INFO javax.enterprise.system.container.web: INFO javax.enterprise.system.util: INFO javax.enterprise.resource.webcontainer.jsf.timing: INFO javax: INFO javax.enterprise.resource.corba: INFO javax.enterprise.system.core.naming: INFO javax.enterprise.system.core.selfmanagement: INFO javax.enterprise.system.container.ejb: INFO javax.enterprise.resource.webcontainer.jsf.config: INFO javax.enterprise.resource.javamail: INFO org.apache.catalina: INFO javax.enterprise.system.core.config: INFO javax.enterprise.system.webservices.rpc: INFO javax.enterprise.system.webservices.registry: INFO javax.enterprise.system.tools.deployment: INFO javax.enterprise.resource.jms: INFO javax.enterprise.system: INFO javax.enterprise.system.webservices.saaj: INFO org.apache.jasper: INFO javax.enterprise.resource.webcontainer.jsf.lifecycle: INFO javax.enterprise.resource.jta: INFO javax.enterprise.resource.jdo: INFO javax.enterprise.resource.resourceadapter: INFO javax.enterprise.system.core.transaction: INFO javax.enterprise.resource.webcontainer.jsf.resource: INFO javax.enterprise.system.core.security: INFO javax.enterprise.resource.webcontainer.jsf.application: INFO javax.enterprise.system.core.classloading: INFO org.apache.coyote: INFO javax.enterprise.resource.webcontainer.jsf.managedbean: INFO javax.enterprise.system.container.ejb.mdb: INFO javax.enterprise.resource.webcontainer.jsf.context: INFO javax.enterprise.resource.webcontainer.jsf.renderkit: INFO javax.enterprise.resource.webcontainer.jsf.facelets: INFO javax.enterprise.resource.webcontainer.jsf.taglib: INFO |