多数の Application Server サブシステムでログファイルが作成され、イベントがそれらのファイルに記録されます。これらのログファイルの主な目的は、トラブルシューティング情報を提供することです。
記録されたメッセージから、メッセージテキストに加えて次の情報を得ることができます。
イベントの日時
イベントのログレベル — Application Server によって指定されたログレベル ID または名前
プロセス識別子 (PID) — Application Server プロセスの PID
(オプション) 仮想サーバー識別子 (VSID) — メッセージの生成元 VSID
メッセージ識別子 (MID) — サブシステムと 4 桁の整数
メッセージデータ
Application Server の各問題分野に関連する固有のログについては、このマニュアルの関連する章を参照してください。
Application Server の 管理 GUI では、さまざまなログレベルを設定できます (FINEST、FINER、FINE、CONFIG、INFO、WARNING、SEVERE、ALERT、および FATAL)。ログレベルを FINEST に設定するとすべてのメッセージが記録され、ログレベルを FATAL に設定すると重大なエラーメッセージのみが出力されます。
詳細なログレベル (FINEST、FINER、FINE) では、ある特定のイベントのログ情報が大量に生成されるため、一見すると、実際には存在しなくてもエラー条件が存在するように見えることがあります。
デフォルトレベルの INFO より重大でないログレベル (FINEST、FINER、FINE、および CONFIG) のすべてのメッセージには、デバッグに関連する情報が含まれているので、特定して有効にする必要があります。これを行う手順については、『Sun Java System Application Server 管理ガイド』を参照してください。
Application Server には、標準の JDK ログレベルに加えて、Application Server ログファイル (server.log) との関係を直観的に把握でき、Solaris と緊密に統合するように考案されたログレベルが追加されています。ログレベル ALERT および FATAL は Application Server に固有なログレベルで、JDK1.4 のログ API には実装されていません。
Microsoft Windows オペレーティング環境で使用されるイベントログ機構については、キーワード「イベントログ」で Windows ヘルプシステムを索引検索してください。Windows server.log ファイルにログを送信する場合、ログレベル INFO、WARNING、SEVERE、ALERT、または FATAL のメッセージのみが Windows イベントログに記録されます。
管理 GUI は次の 2 つのログオプションを提供します。
オプション 1 — stdout (System.out.print) コンテンツをイベントログに記録する
オプション 2 — stderr (System.err.print) コンテンツをイベントログに記録する
これらのオプションを設定すると、stdout と stderr のメッセージが server.log ファイルに出力されます。イベントログは、Solaris では syslog デーモン、Microsoft Windows ではイベントログです。
前記のオプションを設定しないと、次のように動作します。
stdout または stderr に書き込まれる (つまり、System.out または System.err を使用する) すべての情報が、ログに表示されない。
JDK ロガーで記録されたメッセージがログに表示される。
stdout または stderr に書き込まれるメッセージは INFO レベルとして表示されるが、メッセージ ID は付かない。
アプリケーションクライアントコンテナ (ACC) には、ローカルファイルにのみ出力可能な独自のログサービスがあります。通常、ACC は、Application Server とは別のホスト上の独自のプロセスで実行されます。ログインフラストラクチャーとログファイルは ACC 固有のものです。ACC の設定は、sun-acc.xml ファイルに格納されています。詳しくは、『Sun Java System Application Server Developer's Guide』を参照してください。
ここでは、Application Server 8.2 のスレッドダンプを取得する方法について説明します。デフォルトでは、サーバーからコアファイルがダンプされ、server.xml ファイルにある -Xrs java-option フラグに従って再起動が行われます。
UNIX でサーバースレッドダンプを取得する方法は次のとおりです。
影響を受けるサーバーインスタンスの server.xml ファイルに -Xrs java-option フラグが含まれていないことを確認します。含まれている場合は、-Xrs java-option フラグを削除します。
オプションが変更されている場合は、サーバーインスタンスを再起動します。
ps コマンドを使用して、アプリケーションサーバーが稼働している java プロセスまたは appservDAS プロセス、あるいはその両方を特定します。
アプリケーションサーバーインスタンスで次のコマンドを実行します。
kill -3 pid |
この kill コマンドで、スレッドダンプがサーバーインスタンスの server.log ファイルにリダイレクトされます。
Windows でサーバースレッドダンプを取得する方法は次のとおりです。