画像、jsファイルへのリクエストをフィルターする
apacheでログをデフォルトの設定で運用している場合、画像やJavaScriptファイルへのアクセスログが記録されます。これらのファイルへのリクエストは間接的に呼ばれるものなので、アクセスログの本来の目的(誰が、いつ、どのページにアクセスしたか)から考えると不要です。画像ファイルを豊富に使用している場合、本来のページに対するログよりも大量のログが残される可能性が高いので有害となってしまうケースもあると思われます。
apacheのaccess.logから画像、jsファイルへのリクエストをフィルターするにはhttpd.confのCustomLogディレクティブに以下のように記述します。
(Windowsの場合)
# CustomLog logs/access.log common SetEnvIf Request_URI "\.(bmp|css|gif|htc|ico|jpeg|jpg|js|mpeg|mpg|png|swf)$" nolog CustomLog logs/access.log common env=!nolog
昨日のエントリの分とあわせると以下のように書くことができます。
# CustomLog logs/access.log common SetEnvIf Request_URI "\.(bmp|css|gif|htc|ico|jpeg|jpg|js|mpeg|mpg|png|swf)$" nolog CustomLog "| 'C:/Program Files/Apache Group/Apache2/bin/rotatelogs.exe' 'C:/Program Files/Apache Group/Apache2/logs/access.log' 86400" common env=!nolog