裏紙に書く程度の内容

apache のログ出力設定

apache のバーチャルホストのログ出力先の設定です。

config設定

CustomLogディレクティブで出力先を指定します。

CustomLog logs/hoge_access_log combined                   
ErrorLog logs/hoge_error_log

これをバーチャルホストの設定部に追加します。

追加したら確認し、問題なければapache再起動。

$ sudo apachectl configtest
Syntax OK
$ suod service httpd restart

設定値の詳細

フォーマットの指定

上記combinedはフォーマット指定です。

apacheのメインの設定ファイル(httpd.conf)に、デフォルトでは下記設定があると思います。(バージョンによって若干ちがうかも)

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

ここでログのフォーマットが定義され、それぞれ名前がついています。CustomLogにはこの設定したフォーマットを指定することができます。

出力先のlogs/は何処にあるのか?

出力先のパスですが、ここではlogs以下に指定しました。

httpd.confでデフォルトの出力先がlogs/access_logになっていたのでこれに倣ったのですが、ちょっと疑問が。

いつもログの確認するときは/var/log/httpd/access_logを見ているのにlogsってドコよ?

答えは簡単で、/etc/httpd/logsでした。

ここから../../var/log/httpdへリンクがはられているので実際は/var/log/httpd二出力されていたわけです。

ちょっとぐぐっても出てこないなぁと思ったら見りゃわかるだろってレベル!!!

Index
広告