特定ディレクトリ、ファイルへのアクセスログを別で出力する

jyozi 10views 更新:2017年7月11日
SetEnvIf Request_URI "^/sample/" log nolog
CustomLog /etc/httpd/logs/sample_access_log combined env=log
CustomLog /etc/httpd/logs/not_sample_access_log combined env=!nolog

logとnologは任意の変数名なのでなんでも良い。
特定のログを含めたい場合はenv=に変数を入れることで、そのログだけが出力される。
特定のログ以外を出力したい場合は、一度使った変数は使えないので、もう一方の変数でenv=に!をつけて変数を入れることで、そのログ以外のログが出力される。
このように記述することで特定ディレクトリ、ファイルへのアクセスログを別で出力する事ができる。 

※部分一致なので”sample”や”/sample/”のように記述するとtest/sample/下のディレクトリやファイル、またtest/sample.htmlも反応してしまうので、ホームディレクトリ下のディレクトリやファイルを指定する場合は正規表現の先頭を意味する「^」を付ける、同じ文字列が含まれるディレクトリやファイルがある場合はパスをしっかり通すことで片方だけ反応するようになる。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません