ファイル名
ログファイルの出力先
[運用資産格納ディレクトリー]\domains\domain1\logs\access |
[運用資産格納ディレクトリー]/domains/domain1/logs/access |
[運用資産格納ディレクトリー]\nodes\localhost-domain1\<GlassFish Serverインスタンス名>\logs\access |
[運用資産格納ディレクトリー]/nodes/localhost-domain1/<GlassFish Serverインスタンス名>/logs/access |
HTTPアクセスログのログ出力先ディレクトリーは、asadminコマンドのsetサブコマンドで、HTTPサービスの定義項目を設定することで変更可能です。変更については、「設定方法」を参照してください。
出力内容
HTTPサービスの通信情報が出力されます。
仕様
HTTPアクセスログを有効に設定すると、HTTPアクセスログファイルが作成されます。設定方法については、「設定方法」を参照してください。
同名のファイルが存在する場合は、追加出力されます。
リクエストラインに出力される値はクライアントから送付された値がそのまま出力されます。
リクエストURLに%エンコードされた文字を含む場合は、デコードされずにクライアントから送付された値がそのまま出力されます。
"192.0.2.237" "-" "21/Dec/2019:14:25:52 +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" "704" "localhost:28080" "6eaef8e67491df504e52d2e7b74c" "31" "ThreadID=43" "ThreadName=http-listener-1(15)" |
同じディレクトリーに出力される__asadmin_access_log.txtは、管理用のアプリケーションに対するHTTPアクセスログです。
書き込み権限がない場合、サーバーログに警告メッセージが出力されます(注)。この場合、HTTPアクセスログは出力されません。
注)
GlassFish運用グループのユーザーでGlassFish Serverクラスターを実行する場合の動作です。
GlassFish運用グループのユーザーでのGlassFish Serverクラスターの実行については、「運用ユーザーのカスタマイズ」を参照してください。
設定方法
HTTPアクセスログの設定項目は、asadminコマンドのsetサブコマンドで変更可能です。
アクセスログの有効化
HTTPアクセスログの出力を有効にするかを指定します。
形式
HTTPアクセスログに出力する項目を指定します。
ローテーションに関する設定
ローテーションのタイプなど設定します。ローテーションについては、「5.9.6 ログファイルのローテーション」を参照してください。
ログ出力ディレクトリ
ログファイルの出力先を変更できます。
出力フォーマット
HTTPアクセスログの出力フォーマットはカスタマイズできます。設定方法については、「設定方法」を参照してください。
項目名は“%”で囲んで小文字で指定します。ただし、%cookies.any%のanyに指定する値は、大文字、小文字を区別するのでHTTP/1.1で定義された値を指定してください。
複数の項目を指定する場合は、空白で区切って指定します。
出力形式の初期値:
%client.name% %auth-user-name% %datetime% %request% %status% %response.length% %headers.host% %cookies.JSESSIONID% %time-taken% %thread.id% %thread.name% |
フォーマットに空白のみを指定した場合や登録されていない項目名を指定した場合は、下記の値が設定されます。
%client.name% %auth-user-name% %datetime% %request% %status% %response.length% |
項目が複数定義されている場合は、“;”で区切って出力されます。
指定可能な項目は、以下の表を参照してください。
リクエスト情報
項目名 | 説明 | デフォルト |
---|---|---|
%client.name% | クライアントまたは、プロキシサーバーなどのIPアドレス/ホスト名を出力します。 | ○ |
%auth-user-name% | 認証したユーザー名を出力します。 リクエストにユーザー名が付与されていない場合は、“-”を出力します。 | ○ |
%datetime% | ログを出力した時点の日時を出力します。 | ○ |
%request% | リクエストラインの内容を出力します。 | ○ |
%status% | ステータスコードを出力します。 | ○ |
%response.length% | レスポンスのデータ長を出力します。単位はbyteです。 | ○ |
%headers.host% | Hostヘッダーの内容を出力します。 | ○ |
%cookies.JSESSIONID% | セッションIDを出力します。 | ○ |
%time-taken% | リクエストの処理開始から、Webアプリケーションの処理終了までの時間(ミリ秒)を出力します。
| ○ |
%thread.id% | スレッドIDを出力します。 | ○ |
%thread.name% | スレッド名を出力します。 | ○ |
%cookies.any% | Cookieヘッダーの内容を出力します。 | |
%headers.any% | リクエストHTTPヘッダーの値を出力します。anyには、HTTP/1.1で定義された任意の有効なリクエストHTTPヘッダーの値を小文字で指定します。 | |
%headers.referer% | Refererヘッダーの内容を出力します。 | |
%headers.user-agent% | User-Agentヘッダーの内容を出力します。 | |
%response.headers.any% | レスポンスHTTPヘッダーの値を出力します。anyには、HTTP/1.1で定義された任意の有効なレスポンスHTTPヘッダーの値を小文字で指定します。 | |
%response.headers.set-cookie% | レスポンス時のSet-Cookieヘッダーの内容を出力します。 | |
%http-method% | HTTPメソッドを出力します。 | |
%http-uri% | URIを出力します。 | |
%http-version% | プロトコルバージョンを出力します。 | |
%query-str% | クエリー文字列を出力します。 |
出力例
出力フォーマットに指定した値が空白で区切られて出力されます。
"192.0.2.237" "-" "21/Dec/2019:14:25:28 +0900" "POST /web/ HTTP/1.1" "200" "705" "localhost:28080" "6eaef8e67491df504e52d2e7b74c" "7031" "ThreadID=42" "ThreadName=http-listener-1(14)" |
注意
HTTPアクセスログの出力を有効にしている場合、性能に影響があります。影響の程度は、アプリケーション、環境/運用、負荷等に依存します。