4Dはリクエストのログを提供します。
このファイルには、“logweb.txt” という名前が付けられ自動的に保存されます。
- 4Dのローカルモードと4D Serverでは、データベースストラクチャファイルと同階層のLogsフォルダに配置されます。
- 4Dのリモートモードでは、4Dクライアントデータベースフォルダ (キャッシュフォルダ) のLogsサブフォルダ内に配置されます。
ログファイルの有効化と内容の設定は、データベース設定のWeb/ログ (タイプ) ページで行います。
注: リクエストのログファイルの有効/無効はSET DATABASE PARAMETER (4D v12) または WEB SET OPTION (4D v13以降) コマンドを使用したプログラミングでも切り替えられます。
ログのフォーマットメニューでは、次のオプションを提供します。
- No Log File: このオプションが選択されると、4Dはリクエストのログファイルを作成しません。
- CLF (Common Log Format): このオプションが選択されると、リクエストのログがCLFフォーマットで作成されます。CLFフォーマットでは、以下のように、それぞれのリクエストが行単位でファイル内に表示されます。
host rfc931 user [DD/MMM/YYYY:HH:MM:SS] "request" state length
各フィールドはスペースによって区切られ、それぞれの行はCR/LF シーケンス (character 13、character 10) で終ります。
- host: クライアントのIPアドレス (例: 192.100.100.10)
- rfc931: 4Dによって作成されない情報。常に - (マイナス記号) です。
- user: 認証されているユーザ名、あるいは、- (マイナス記号) 。ユーザ名にスペースが含まれると、_ (下線) に置き換わります。
- DD: 日、MMM: 月を表す3文字の略号 (Jan、Febなど)、YYYY: 年、HH: 時間、MM: 分、SS: 秒
日付と時間はサーバのローカルタイム。 - request: クライアントによって送られたリクエスト (例: GET /index.htm HTTP/1.0) 。
- state: サーバからの返答。
- length: 返されたデータ (HTTPヘッダー以外) のサイズまたは0
注: パフォーマンス上の理由により、操作はメモリのバッファに1Kbのパケットで保存され、ディスクに書き込まれます。5秒間リクエストが発生しなくても、操作はディスクに書き込まれます。
stateとして取り得る値は以下の通り。
200: OK
204: No contents
302: Redirection
304: Not modified
400: Incorrect request
401: Authentication required
404: Not found
500: Internal error
CLFフォーマットはカスタマイズされません。 - DLF (Combined Log Format): このオプションが選択されると、リクエストログがDLFフォーマットで作成されます。DLFフォーマットはCLFフォーマットと類似していて、全く同じス トラクチャを使用します。各リクエストの最後に2つのHTTPフィールド、RefererとUser-agentを追加します。
- Referer: リクエストされたドキュメントを指しているページのURLを含みます。
- User-agent: オリジナルリクエストでクライアントのブラウザまたはソフトウェアの名前とバージョンを含みます。
DLFフォーマットはカスタマイズされません。 - ELF (Extended Log Format): このオプションが選択されると、リクエストログがELFフォーマットで作成されます。ELFフォーマットはHTTPブラウザ界で広く普及しています。そし て、特別なニーズに応える洗練されたログを構築します。この理由により、ELFフォーマットはカスタマイズされます。レコードするフィールドやそのフィー ルドをファイルへ挿入する順番を選択することが可能です。
- WLF (WebStar Log Format): このオプションが選択されると、リクエストログがWLFフォーマットで作成されます。WLFフォーマットは4D WebSTARサーバ用として特別に開発されました。いくつかの追加フィールドを持つので、EFLフォーマットと似ています。EFLフォーマットと同様、 カスタマイズされます。
フィールドの設定
ELF (Extended Log Format) フォーマットまたは WLF (WebStar Log Format) を選択すると、“Weg Log Token Selection” エリアで選択されたフォーマットに対して利用可能なフィールドが表示されます。ログに含む各フィールドを選択する必要があります。これを実行するには、矢 印ボタンを使用するか、"Selected Tokens" へ目的のフィールドをドラッグ&ドロップします。
注: 同じフィールドを2度選択することはできません。
各フォーマットで利用可能なフィールド (アルファベット順) とその内容を以下に示します。
フィールド | ELF | WLF | 値 |
BYTES_RECEIVED | | X | サーバが受け取ったバイト数 |
BYTES_SENT | X | X | サーバがクライアントに送ったバイト数 |
C_DNS | X | X | DNSのIPアドレス (ELF: C_IP フィールドと同一のフィールド) |
C_IP | X | X | クライアントのIPアドレス (例: 192.100.100.10) |
CONNECTION_ID | | X | 接続ID番号 |
CS(COOKIE) | X | X | HTTPリクエストに格納されているcookiesに関する情報 |
CS(HOST) | X | X | HTTPリクエストのHostフィールド |
CS(REFERER) | X | X | リクエストされたドキュメントを指すページのURL |
CS(USER_AGENT) | X | X | ソフトウェアに関する情報とクライアントのオペレーティングシステム |
CS_SIP | X | X | サーバのIPアドレス |
CS_URI | X | X | リクエストが作成されるURI |
CS_URI_QUERY | X | X | リクエストをクエリする引数 |
CS_URI_STEM | X | X | クエリ引数のないリクエストのパート |
DATE | X | X | DD: 日、MMM: 月を表す3文字の略号 (Jan、Febなど)、YYYY: 年 |
METHOD | X | X | サーバへ送られるリクエスト用のHTTPメソッド |
PATH_ARGS | | X | CGI引数: “$” の後に続く文字列 |
STATUS | X | X | サーバの返答 |
TIME | X | X | HH: 時間、MM: 分、SS: 秒 |
TRANSFER_TIME | X | X | 返答を作成するためにサーバによってリクエストされた時間 |
USER | X | X | 認証された場合はユーザ名。その他の場合は - (マイナス記号) 。 |
| | | ユーザ名にスペースがある場合、_ (アンダーライン) に置き換えられる。 |
URL | | X | クライアントがリクエストしたURL |
注: 日付と時間はGMTで表されます。