ファイル名
server_access_log.txt
出力内容
HTTPサービスの通信情報が出力されます。
仕様
HTTPアクセスログを出力する設定にした時に、HTTPアクセスログファイルが作成されます。設定方法については、「設定方法」を参照してください。
HTTPアクセスログの出力先は以下となります。
[ログ出力ディレクトリ]\access
[ログ出力ディレクトリ]/access
ログ出力ディレクトリについては、「5.13 Java EEアプリケーションのログ」の「ログファイルの出力先」を参照してください。
同名のファイルが存在する場合は追加出力されます。
リクエストラインに出力される値はクライアントから送付された値がそのまま出力されます。
リクエストURLに%エンコードされた文字を含む場合はデコードされずにクライアントから送付された値がそのまま出力されます。
"10.34.200.237" "-" "userA" "22/Aug/2007:19:19:15 +0900" "GET /web/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%90%E3%82%A4%E3%83%88 HTTP/1.1" "200" "1635" "10.34.200.237:8080" "6LH3CP1HC4OJED1LC5J64C1P6GOJCCR36GSM8PB2C4R318EHMQIIO08000400000" "15" "ThreadID=174" "ThreadName=httpWorkerThread-28090-5" "10.34.200.237" |
同じディレクトリに出力される__asadmin_access_log.txtは、管理用のアプリケーションに対するHTTPアクセスログです。
設定方法
HTTPアクセスログの設定項目は、asadminコマンドにより変更可能です。
アクセスログ
HTTPアクセスログの出力を有効にするかを指定します。
形式
HTTPアクセスログに出力する項目を指定します。
その他の設定項目は、「8.4.3 HTTPサービスの定義項目」を参照してください。
asadminコマンドのsetサブコマンド
「configs.config.http-serviceの定義項目」の「アクセスログ」、「形式」
詳細は、「9.1 asadmin」を参照してください。
出力フォーマット
HTTPアクセスログの出力フォーマットはカスタマイズすることが可能です。設定方法については、「設定方法」を参照してください。
項目名は“%”で囲んで小文字で指定します。ただし、%cookies.any%のanyに指定する値は、大文字、小文字を区別するのでRFC2616で定義された値を指定してください。
複数の項目を指定する場合は、空白で区切って指定します。
出力形式のデフォルト値:
%client.name% %client.id% %auth-user-name% %datetime% %request% %status% %response.length% |
フォーマットに空白のみを指定した場合は、下記の値が設定されます。
%client.name% %auth-user-name% %datetime% %request% %status% %response.length% |
登録されていない項目名を指定した場合は、“ ”が出力されます。
項目が複数定義されている場合は、“;”で区切って出力します。
設定項目は「8.4.3 HTTPサービスの定義項目」を参照してください。
注意
HTTPアクセスログの出力を有効にしている場合、性能に影響があります。影響の程度は、アプリケーション、環境/運用、負荷等に依存します。
指定可能な項目は、以下の表を参照してください。
リクエスト情報
項目名 | 説明 | デフォルト |
---|---|---|
%client.name% | クライアントまたは、プロキシサーバなどのIPアドレスを出力します。 | ○ |
%client.id% | クライアントから返信されるユーザ個人情報を出力します。ただし、常に“-”を出力します。 | ○ |
%auth-user-name% | Webコンテナで認証したユーザ名を表示します。 注)リクエストにユーザ名が付与されていない場合は、“-”を表示します。 | ○ |
%datetime% | ログを出力した時点の日時を出力します。 | ○ |
%request% | リクエストラインの内容を出力します。 | ○ |
%status% | ステータスコードを出力します。 | ○ |
%response.length% | レスポンスのデータ長を出力します。単位はbyteです。 | ○ |
%headers.host% | Hostヘッダーの内容を出力します。 | ○ |
%cookies.JSESSIONID% | セッションIDを出力します。 | ○ |
%time-taken% | リクエストの処理開始から、Webアプリケーションの処理終了までの時間(ミリ秒)を出力します。
以下については、含みません。
| ○ |
%thread.id% | スレッドIDを出力します。 | ○ |
%thread.name% | スレッド名を出力します。 | ○ |
%webserver.name% |
| ○ |
%cookies.any% | Cookieヘッダーの内容を出力します。 | |
%headers.any% | リクエストHTTPヘッダーの値を出力します。anyには、RFC 2616 で定義された任意の有効な リクエストHTTP ヘッダーの値を小文字で指定します。 | |
%headers.referer% | Refererヘッダーの内容を出力します。 | |
%headers.user-agent% | User-Agentヘッダーの内容を出力します。 | |
%response.headers.any% | レスポンスHTTPヘッダーの値を出力します。anyには、RFC2616で定義された任意の有効なレスポンスHTTPヘッダーの値を小文字で指定します。 | |
%response.headers.set-cookie% | レスポンス時のSet-Cookieヘッダーの内容を出力します。 | |
%http-method% | HTTPメソッドを出力します。 | |
%http-uri% | URIを出力します。 | |
%http-version% | プロトコルバージョンを出力します。 | |
%query-str% | クエリー文字列を出力します。 |
出力例
出力フォーマットに指定した値が空白で区切られて出力されます。
"10.34.200.237" "-" "userA" "22/Aug/2007:19:19:15 +0900" "POST /web/ HTTP/1.1" "200" "1635" "10.34.200.237:8080" "6LH3CP1HC4OJED1LC5J64C1P6GOJCCR36GSM8PB2C4R318EHMQIIO08000400000" "15" "ThreadID=174" "ThreadName=httpWorkerThread-28090-5" "10.34.200.237" |