ファイル名
ログファイルの出力先
[Java EE 7共通ディレクトリ]\domains\domain1\logs\http |
[Java EE 7共通ディレクトリ]/domains/domain1/logs/http |
[Java EE 7共通ディレクトリ]\nodes\localhost-domain1\<サーバーインスタンス名>\logs\http |
[Java EE 7共通ディレクトリ]/nodes/localhost-domain1/<サーバーインスタンス名>/logs/http |
HTTPトレースログのログ出力先ディレクトリは、asadminコマンドのsetサブコマンドで、HTTPサービスの定義項目を設定することで変更可能です。変更については、「設定方法」を参照してください。
出力内容
クライアントからのリクエストに対するWebコンテナ内の処理状態が出力されます。
仕様
HTTPトレースログを出力する設定にした時に、HTTPトレースログファイルが作成されます。同名のファイルが存在する場合は追加出力されます。
書き込みやローテーションの処理が失敗した場合、サーバーログにエラーメッセージが出力されます。
設定方法
HTTPトレースログの設定項目は、asadminコマンドのsetサブコマンドで変更可能です。
トレースログの有効化
HTTPトレースログの出力を有効にするかどうかを指定します。
ローテーションに関する設定
ログファイルのサイズや世代数を設定します。ローテーションについては、「4.17.6 ログファイルのローテーション」を参照してください。
ログ出力ディレクトリ
ログファイルの出力先を変更できます。
詳細は、「8.8.2 HTTPサービスの定義項目」、「10.1 asadmin」を参照してください。
出力フォーマット
HTTPトレースログとして出力されるログの形式を、以下に示します。
出力形式:
"日時" "スレッドID(スレッド名)" "イベント" "詳細情報" |
HTTPトレースログの出力日時
処理スレッドのスレッドID
処理スレッドのスレッド名
出力タイミングを表すイベント名
各出力タイミングにおける出力内容を以下に示します。
出力タイミング | イベント | 詳細情報 |
---|---|---|
TCPコネクション接続受付直後 | conn | クライアント(注1)のIPアドレス、ポート番号 |
TCPコネクション切断直後 | disc | クライアント(注1)のIPアドレス、ポート番号、TCPコネクション切断側(注3) |
HTTPリクエスト受信直後 | recv | リクエストラインの内容 |
HTTPレスポンス送信直後 | send | クライアント(注1)のIPアドレス、ポート番号 レスポンスステータス |
Webコンテナの呼び出し直前 | call | なし |
Webコンテナからの復帰直後 | rtn | なし |
スレッドプールのキューへのタスク挿入直前 | qin | クライアント(注1)のIPアドレス、ポート番号 |
スレッドプールのキューあふれ発生時 | q-overflow | クライアント(注1)のIPアドレス、ポート番号 |
スレッドプールのキューからの取出し直後 | qout | クライアント(注1)のIPアドレス、ポート番号 |
キープアライブ待ち開始直後、またはデータ到着待ち開始直後 | k-wt | クライアント(注1)のIPアドレス、ポート番号 |
HTTP接続のタイムアウト発生直後(注4) | htout | クライアント(注1)のIPアドレス、ポート番号 |
受信タイムアウト発生直後 | rtout | クライアント(注1)のIPアドレス、ポート番号 |
送信タイムアウト発生直後 | wtout | クライアント(注1)のIPアドレス、ポート番号 |
Webコンテナが非同期処理モードに移行した直後 | async-start | なし |
Webコンテナの非同期処理開始直後 | async-call | クライアント(注1)のIPアドレス、ポート番号 リクエストURI(注2) |
Webコンテナの非同期処理終了直前 | async-rtn | なし |
注1) クライアントとは、Webブラウザ、プロキシサーバなどを指します。
注2) Webアプリケーションで以下のServlet APIを呼んだ場合、“async-call”の詳細情報にリクエストURIが出力されます。
javax.servlet.AsyncContext#dispatch(javax.servlet.ServletContext, java.lang.String)
javax.servlet.AsyncContext#dispatch(java.lang.String)
注3) サーバ側からTCPコネクションを切断した場合は“local”、クライアント側からTCPコネクションを切断した場合は“remote”を出力します。
注4) キープアライブ接続のタイムアウトによりTCPコネクションが切断される場合は出力されません。
注意
HTTPトレースログの出力を有効にしている場合、性能に影響があります。影響の程度は、アプリケーション、環境/運用、処理多重度、負荷等に依存します。
今後、改善や機能追加により、出力タイミングや出力内容が変更される可能性があります。そのため、出力内容に依存した運用は避けてください。
出力例
出力例を以下に示します。
"14/Jan/2016:21:32:50.140" "79(http-listener-1-kernel(1) SelectorRunner)" "conn" "192.0.2.0:50205" |