![]() |
![]() |
|
|
| |
ログ メッセージを使用した WebLogic Server の管理
以下の節では、ロギング サブシステムの機能について説明します。
ロギング サブシステムの概要
ログ メッセージは、システムの管理に便利なツールです。ログ メッセージを利用すると、問題の検出、傷害の発生源の特定、およびシステム パフォーマンスの監視ができます。WebLogic Server ソフトウェアで生成されるログ メッセージは、以下のように 2 つの場所に格納されます。
WebLogic Server に組み込まれている Java Management Extension(JMX)の機能は、ログ メッセージを WebLogic Server から管理サーバに送信するために使用します。ローカル WebLogic Server の判断に基づいて他のエンティティに転送されるメッセージは、JMX の用語で通知と呼ばれます。
WebLogic サーバが起動すると、ログ メッセージを受信するために管理サーバのメッセージ ハンドラがそのサーバに登録されます。登録時には、管理サーバに転送するメッセージを選択するためにローカル サーバで使用されるフィルタ(ユーザによる修正が可能)が提供されます。それらのメッセージは、ドメイン ログに収集されます。
デフォルトでは、最も重要なログ メッセージだけがローカル サーバからドメイン ログに転送されます(この章の「 メッセージの重要度」を参照)。ドメイン ログを参照すると、最も重要なメッセージだけに注目してドメイン全体を調べることができます。
ローカル サーバから受信するメッセージを変更するためにフィルタを修正する必要がある場合は、Administration Console を使用して動的に修正できます。変更を有効にするためにローカル サーバを再起動する必要はありません。詳細については、この章の「 ドメイン ログ フィルタの作成」を参照してください。
WebLogic Server に登録できるカスタム メッセージ ハンドラをビルドして、JMX 通知を通じてログ メッセージを受信することもできます。
図6-1 WebLogic Server のロギング サブシステム
6.0 より前のバージョンの WebLogic Server では、ログ ファイルが最大のサイズに達すると新しいログ ファイルが作成されます。このようなログ ファイルの自動作成は、ログ ローテーションと呼ばれます。現在のリリースでは、サイズまたは時間に基づいてログ ファイルをローテーションできます。ローテーションをコンフィグレーションするには、Administration Console を開いて次の操作を行います。
ログ ファイルが指定したサイズに達すると、ファイル サイズが次にチェックされた時点で、現在のログ ファイルの名前が変更され、新しいログ ファイルが作成されて、以降のメッセージは新しいログ ファイルに格納されます。
hh
:mm
の形式を使用します。hh
は 24 時間形式の時刻で、mm
は分です。
指定した時刻が既に過ぎている場合は、直ちにファイルのローテーションが行われます。
java.text.SimpleDateFormat
の変数を加えます。変数は個別にパーセント文字 (%
) で囲みます。
次に例を示します。myserver_%yyyy%_%MM%_%dd%_%hh%_%mm%.log
[ファイル名] フィールドに上のような値を入力すると、サーバのログ ファイルの名前は次のようになります。myserver_yyyy_MM_dd_hh_mm.log
サーバ インスタンスがログ ファイルのローテーションを行うと、ローテーションされたファイルの名前には日時のスタンプが追加されます。たとえば、サーバ インスタンスが2003 年 4 月 2 日の午前 10 時 5 分にローカル ログ ファイルをローテーションすると、古いログ メッセージを含むファイルには、次のような名前が設定されます。myserver_2003_04_02_10_05.log
日時スタンプを指定しないと、ローテーションされたログ ファイルの名前には、filename
nnnnn
のように作成順の番号が付けられます。filename
は、ログ ファイルに対してコンフィグレーションされている名前です。たとえば、myserver.log00007
のようになります。
デフォルトでは、ローカル サーバのログ ファイルは weblogic
.log
という名前が付けられ、WebLogic Server が起動されたディレクトリに作成されます。ファイル名は、サーバの [ログ|一般] ページでも設定できます。
ローテーションされたファイルを蓄積できる最大数を指定するには、[ファイル数] フィールドで適切な値を設定します。ログ ファイル数がその値に達すると、ログ ファイルがローテーションされるたびに一番古いログ ファイルが削除されます。
ローカル サーバのログには、常に、記録されたすべてのメッセージが格納されています。
ローカル サーバによるロギングのコンフィグレーションでは、どのメッセージが stdout
に記録されるのかを指定することもできます。記録される最低の重要度を指定すると、重要度の低いメッセージを除外することができます。デバッグ メッセージの stdout
への記録を有効または無効にすることもできます。
注意: サーバ ログ ファイルは、手作業の編集で修正しないようにしてください。時間によるログのローテーションは、ファイルのタイムスタンプに基づきます。ファイルを修正すると、タイムスタンプが変更されてログのローテーションが混乱する可能性があります。手作業でファイルを編集すると、ファイルがロックされて、サーバによるファイルの更新が妨げられる可能性があります。
クライアントのロギング
WebLogic のロギング機能を利用する Java クライアントでもログ メッセージが生成される場合があります。ただし、クライアントによって記録されるメッセージはドメイン ログには転送されません。クライアントのロギング プロパティをコンフィグレーションするには、次のコマンドラインで適切な引数を入力します。
-Dweblogic.log.
attribute
=value
attribute
は、LogMBean
属性です。
デフォルトでは、クライアントについてはログ ファイルへの記録は行われず、メッセージは stdout
に記録されます。コマンドラインで次の引数を使用すると、ファイルへのロギングを有効にし、ログのファイル名を設定できます。
-Dweblogic.log.FileName=
logfilename
logfilename
は、クライアント ログ ファイルの名前です。
次のコマンドライン引数もクライアントのロギングで使用できます。
-Dweblogic.StdoutEnabled=
boolean
-Dweblogic.StdoutDebugEnabled=
boolean
-Dweblogic.StdoutSeverityLevel = [64 | 32 | 16 | 8 | 4 | 2 | 1 ]
boolean
は、true
または false
です。StdoutSeverityLevel
の数値は、重要度レベル (INFO
(64
) WARNING
(32
)、ERROR
(16
)、NOTICE
(8
)、CRITICAL
(4
)、ALERT
(2
)、 EMERGENCY
(1
)) に対応します。
ログ ファイル フォーマット
ログ ファイルの各メッセージの先頭行は ####
で始まり、その後にメッセージ ヘッダが続きます。メッセージ ヘッダは、メッセージの実行時コンテキストを示します。メッセージの各属性は、山括弧で囲まれます。
メッセージ本文以降の行は例外を記録するメッセージの場合にのみ存在し、例外のスタック トレースを示します。メッセージがトランザクションのコンテキストで記録されたものではない場合、Transaction ID は存在しませんが、Transaction ID のための山括弧(セパレータ)は配置されます。
次に、ログ メッセージの例を示します。
####<Jun 2, 2000 10:23:02 AM PDT> <Info> <SSL> <bigbox> <myServer>
<SSLListenThread> <harry> <> <004500> <Using exportable strength SSL>
この例では、メッセージの属性は、Timestamp、Severity、Subsystem、Machine Name、Server Name、Thread ID、User ID、Transaction ID、Message ID、および Message Text です。
注意: クライアントによって記録されるログ メッセージには、Server Name 属性または Thread ID 属性はありません。
注意: ログ ファイルの記述で使用される文字エンコーディングは、ホスト システムのデフォルトの文字エンコーディングです。
サーバのログ ファイルに保存される各ログ メッセージでは、次の表にある属性が定義されます。Message Id では、 メッセージ カタログに格納された追加属性(Probable Cause や Recommended Action など)とメッセージを関連付けることもできます。
属性 |
説明 |
---|---|
Timestamp |
メッセージが発生した時刻と日付。書式はロケールに基づく。 |
Severity |
メッセージで報告されるイベントの影響または深刻さの度合いを示す。「 メッセージの重要度」を参照。 |
Subsystem |
メッセージの発生源である WebLogic Server の特定のサブシステムを示す。たとえば EJB、RMI、JMS など。 |
Server Name |
これら 4 つの属性はメッセージの発生源を識別する。Transaction ID は、トランザクションのコンテキストで記録されたメッセージの場合のみ存在する。 注意 : Server Name と Thread ID は、Java クライアントで生成され、クライアント ログに記録されるログ メッセージにはない。 |
User ID |
メッセージが生成されたときのセキュリティ コンテキストからのユーザ。 |
Message ID |
ユニークな 6 桁の識別子。499999 までのメッセージ ID は、WebLogic Server のシステム メッセージ用に予約されている。 |
Message Text |
WebLogic Server メッセージの場合は、システムのメッセージ カタログで定義されている短い説明(この章の「 メッセージ カタログ」を参照)。他のメッセージの場合は、プログラムの開発者によって定義されたテキスト。 |
ログ メッセージに含まれる情報に加えて、WebLogic Server システム コンポーネント(またはユーザが記述したコード)で生成されるメッセージには、メッセージ カタログに格納された定義済みの追加情報も含まれます。メッセージ カタログに格納されている追加属性は以下のとおりです。
これらの追加メッセージ属性には、Administration Console のログ ビューからアクセスできます。
WebLogic Server ログ メッセージには、重要度という属性があります。この属性は、メッセージで報告されるイベントまたは状況のユーザに対する重要度または影響を示します。
定義されている重要度は以下のとおりです。重要度は、Emergency
を最高とした重要度の順で示されています。
デバッグ メッセージ
debug
という重要度のメッセージは特別なメッセージです。デバッグ メッセージは、ドメイン ログには転送されません。デバッグ メッセージには、アプリケーションまたはサーバについての詳しい情報が含まれる場合があります。デバッグ メッセージは、アプリケーションがデバッグ モードで動作している場合にのみ発生します。
Administration Console のログ参照機能を使用すると、以下のことができます。
ドメイン ログまたはローカル サーバ ログを表示すると、以下のことができます。
ドメイン ログおよびローカル サーバのログ ファイルには、Administration Console からアクセスできます。アクセス方法については、Console オンライン ヘルプの以下のトピックを参照してください。
WebLogic Server によってドメイン ログに転送されるログ メッセージは、デフォルトでは、ローカルで記録されるメッセージの一部です。メッセージの重要度、サブシステム、またはユーザ ID に基づいて、転送されるログ メッセージを選択するログ フィルタをコンフィグレーションできます。デバッグ メッセージは特殊なメッセージであり、ドメイン ログには転送されません。ドメイン ログ フィルタは、ドメイン ログ フィルタ テーブルで作成または修正できます。ドメイン ログ フィルタ テーブルには、ドメインのモニタ タブ ページからアクセスできます。ドメイン ログ フィルタ作成の詳細については、Administration Console のオンライン ヘルプを参照してください。
![]() |
![]() |
![]() |