エラーログの取得
Apacheでは、受けたリクエストに対するレスポンスをログとして記録しています。
ログには、"いつ、どのホストから、どのファイルに対してアクセスがあったか"、や"いつ、どのようなリクエストに対してどういったエラーが発生したか"など様々な情報が記録されており、ユーザーの動向の調査やデバッグのヒントとなる重要な情報を得ることができます。
Apacheのログには大きく分けてアクセスログとエラーログの2種類があります。
エラーログは、リクエストに対して発生したエラーの詳細が記録される極めて重要なログです。
下記はエラーログの記録の一例です。
[root@centos ~]# less /var/log/httpd/error_log ~ 省略 ~ [Sat May 02 23:22:04 2009] [error] [client ::1] client denied by server configuration: /var/www/html/secret/*
これは、許可されていないディレクトリへのアクセスが発生した際に記録されたログで、最初の項目は"日付と時刻"、2つめの項目は"報告されているエラーの重要度"です。
エラーログを記録するファイルを指定する
通常、エラーログはファイルに記録されています。
エラーログを記録するファイルは、Apacheの設定ファイル内の"ErrorLog"ディレクティブで指定されています。
[root@centos ~]# vi /etc/http/conf/http.conf Apacheの設定ファイルを開く ErrorLog logs/error_log ※ここでエラーログを記録するファイルを指定している
上記のように、ファイルへのパスが絶対パスではない場合は、ServerRoot からの相対パスとみなされます。
エラーログを記録するエラーレベルを指定する
各種エラーには重要度別にエラーレベルが定義されています。
下記の表は、エラーレベルを重要度が高いものから順に並べたものです。
| レベル | 意味 |
|---|---|
| emerg | 緊急 - システムが利用できないようなエラー |
| alert | 直ちに対処が必要 |
| crit | 致命的な状態 |
| error | 通常のエラー |
| warn | 警告 |
| notice | 通知 |
| info | サーバーの状態についての情報 |
| debug | デバッグメッセージ |
"LogLevel"ディレクティブでは、エラーログに記録するエラーレベルを指定することができます。
例えば、下記のように指定すると、"notice"以上のエラーレベルはすべてエラーログに記録するようになり、逆に"notice"以下のエラーレベルのエラーに関してはログに記載されなくなります。
[root@centos ~]# vi /etc/http/conf/http.conf Apacheの設定ファイルを開く LogLevel notice ※ここでエラーログに記録するエラーレベルを指定
低いエラーレベルでもログに記録するように設定しておくと、より詳細な情報を得ることができます。
ただし、その反面、ログファイルが肥大化しやすくなるため、注意が必要です。

この記事へのコメント
まだコメントは投稿されていません。