web-dev-qa-db-ja.com

特定の欠落ファイルをApache2エラーログに記録しないようにします

不足しているファイル(404が返される)をApache2エラーログに記録しないようにしたいと思います。

プラグインのEclipse更新サイトでこれを実行したいと思います。問題は、Eclipse P2コードが、content.xml、content.jar、digest.Zipなど、私のサイトでは利用できないメタデータファイルにアクセスしようとすることです。 P2がこれを見つけると、最終的に私が提供するsite.xmlに到達します。全体として、すべてが正常に機能します...しかし、次のような行がたくさんあります。

[Mon Jul 06 21:46:46 2009] [error] [client 195.91.79.90] File does not exist: ...htdocs/stable/content.jar

私のerror.logファイルにありますが、これはあまり役に立ちません。

私の頭に浮かぶ解決策の1つは、Apacheにgrepを介して(パイプロギングを介して)ログを記録させることですが、より良い解決策を探しています。

これらのリクエストにSetEnvIfディレクティブのタグを付け、タグ付きリクエストのエラーログをスキップすることを考えていましたが、ErrorLogディレクティブはそれをサポートしていません。

他のアイデアはありますか?

7

私は自分に合った解決策を見つけました。これらの行を.htaccessに追加しました:

# Don't log missing files
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(artifacts\.jar|content\.xml|content\.jar)$ - [R=404,L]

Mod_rewriteを使用します。 R = 404は、クライアントが上記のファイルのいずれかにアクセスしたときに、404 NotFoundステータスコードを送信するように指示します。

RewriteCodeは、ファイルが実際に存在しないことを確認するためにあります。これらのファイルの1つをディレクトリに配置すると、通常どおりに提供されます。

これはうまく機能します:言及されたファイルはもはやerror.logに記録されません(それが私の目標でした)が、アクセスログ(404ステータス)には記録されます。

8

mod_log_config を使用して条件付きロギングを実行できます

これにより、環境変数を使用できるようになります。

ここ 画像リクエストをログに記録しない場合。

3
LukeR

警告または批判するために、エラーよりもLogLevelを高くする方が簡単ではなかったでしょうか。それとも、それを低く保つ理由がありますか?

1
thepocketwade