Cosminexus アプリケーションサーバ V8 機能解説 基本・開発編(Webコンテナ)
インプロセスHTTPサーバでは,アプリケーション開発のサポート,運用時の性能解析,および障害発生時のトラブルシュートのために,アクセスログ,性能解析トレース,スレッドトレース,および通信トレースを出力します。これらのファイルは,ファイル面数やファイルサイズなどを変更できます。また,アクセスログでは,ログの出力形式をカスタマイズできます。
ここでは,インプロセスHTTPサーバのアクセスログの出力形式のカスタマイズについて説明します。インプロセスHTTPサーバのアクセスログおよびトレースファイルのファイル面数やファイルサイズなどの変更については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 保守/移行/互換編」の「3.3.11 インプロセスHTTPサーバのログ取得の設定」を参照してください。
アクセスログの出力形式のカスタマイズの手順を次に示します。
: <param> <param-name>webserver.logger.access_log.format_list</param-name> <param-value>formatA</param-value> </param> : |
:
<param>
<param-name>webserver.logger.access_log.formatA</param-name>
<param-value>%h %u %t "%r" %>s HostHeader="%{host}i"</param-value>
</param>
:
|
: <param> <param-name>webserver.logger.access_log.inprocess_http.usage_format</param-name> <param-value>formatA</param-value> </param> : |
アプリケーションサーバでは,インプロセスHTTPサーバのアクセスログのフォーマットとして,common(デフォルトフォーマット)とcombined(拡張フォーマット)という2種類のフォーマットを提供しています。フォーマットを新規作成する場合には,これらのフォーマットを参考にしてください。
アクセスログの出力形式について説明します。なお,△は,半角スペースを表します。また,ここでは,表記の都合上,複数行にわたっていますが,実際には1行で出力されます。
デフォルトフォーマットの出力形式を次に示します。
Webクライアントのホスト名またはIPアドレス△リモートログ名△認証ユーザ名 △Webクライアントのリクエストに応答した時刻△リクエストライン △最終ステータスコード△HTTPヘッダを除く送信バイト数 |
拡張フォーマットの出力形式を次に示します。
Webクライアントのホスト名またはIPアドレス△リモートログ名△認証ユーザ名 △Webクライアントのリクエストに応答した時刻△リクエストライン △最終ステータスコード△HTTPヘッダを除く送信バイト数 △”Refererヘッダの内容”△”User-Agentヘッダの内容” |
下線部分が,デフォルトフォーマットと拡張フォーマットの差異です。拡張フォーマットでは,デフォルトフォーマットの出力内容に加えて,「Refererヘッダの内容」と「User-Agentヘッダの内容」が出力されます。
デフォルトフォーマットでのアクセスログの出力例を次に示します。
10.20.30.40 - user [20/Dec/2004:15:45:01 +0900] "GET /index.html HTTP/1.1" 200 8358 10.20.30.40 - user [20/Dec/2004:15:45:01 +0900] "GET /left.html HTTP/1.1" 200 2358 10.20.30.40 - user [20/Dec/2004:15:45:01 +0900] "GET /right.html HTTP/1.1" 200 4358 |
拡張フォーマットでのアクセスログの出力例を次に示します。
10.20.30.40 - - [18/Jan/2005:13:06:10 +0900] "GET / HTTP/1.0" 200 38 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" 10.20.30.40 - - [18/Jan/2005:13:06:25 +0900] "GET /demo/ HTTP/1.0" 500 684 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" |
フォーマットの出力形式を定義するときに指定する,アクセスログのフォーマットの引数を次の表に示します。
表4-27 アクセスログのフォーマットの引数の一覧
| フォーマットの引数 | 出力内容 | 出力例 |
|---|---|---|
| %% | %記号 | % |
| %a | WebクライアントのIPアドレス | 10.20.30.40 |
| %A | J2EEサーバのIPアドレス | 10.20.30.100 |
| %b | HTTPヘッダを除く送信バイト数 (0バイトの場合は「-」となる) |
2048 |
| %B | HTTPヘッダを除く送信バイト数 (0バイトの場合は「0」となる) |
1024 |
| %h | Webクライアントのホスト名またはIPアドレス (ホスト名を取得できない場合はIPアドレスとなる) |
10.20.30.40 |
| %H | リクエストプロトコル | HTTP/1.1 |
| %l | リモートログ名※1 (常に「-」になる) |
- |
| %m | リクエストメソッド | GET |
| %p | Webクライアントからのリクエストを受け付けたポート番号 | 80 |
| %q | クエリ文字列 (「?」から始まる。クエリ文字列がない場合は空文字となる) |
?id=100&page=15 |
| %r | リクエストライン | GET /index.html HTTP/1.1 |
| %>s | 最終ステータスコード (内部リダイレクトされた値は出力しない) |
200 |
| %S※2 | ユーザのセッションID (セッションIDがない場合は「-」となる) |
00455AFE4DA4E7B7789F247B8FE5D605 |
| %t | Webクライアントのリクエストに応答した時刻 (単位:秒,出力形式:dd/MMM/YYYY:HH:mm:ss Z) |
[18/Jan/2005:13:06:10 +0900] |
| %T | Webクライアントのリクエストの処理に掛かった時間 (単位:秒,出力形式:dd/MMM/YYYY:HH:mm:ss Z) |
2 |
| %d | Webクライアントのリクエストに応答した時刻 (単位:ミリ秒,出力形式:dd/MMM/YYYY:HH:mm:ss.nnn Z(nnnはミリ秒)) |
[18/Jan/2005:13:06:10.152 +0900] |
| %D | Webクライアントのリクエストの処理に掛かった時間 (単位:ミリ秒,出力形式:dd/MMM/YYYY:HH:mm:ss.nnn Z(nnnはミリ秒)) |
2000 |
| %u | Basic認証ユーザ名,Form認証ユーザ名 (認証ユーザ名がない場合は「-」となる) |
user |
| %U | リクエストファイルパス | /index.html |
| %v | J2EEサーバのローカルホスト名 | server |
| %{foo}i※3 | リクエストヘッダfooの内容 (fooヘッダが存在しない場合は「-」となる) |
%{Host}iの場合www.example.com:8888 |
| %{foo}c | Webクライアントが送信したCookie情報でCookieの名前がfooの内容 (Cookieの名前にfooがない場合は「-」となる) |
%{JSESSIONID}cの場合00455AFE4DA4E7B7789F247B8FE5D605 |
| %{foo}o※3 | レスポンスヘッダfooの内容 (fooヘッダが存在しない場合は「-」となる) |
%{Server}oの場合CosminexusComponentContainer |
All Rights Reserved. Copyright (C) 2008, 2011, Hitachi, Ltd.