避免将某些丢失的文件logging到Apache2错误日志中

我想避免logging一些丢失的文件(这给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文件中,这对我没有多大的帮助。

我想到的一个解决scheme是让Apache通过grep(通过pipe道日志logging)login,但是我正在寻找更好的解决scheme。

我正在考虑用SetEnvIf指令标记这些请求,并跳过错误日志标记的请求,但ErrorLog指令不支持。

任何其他的想法?

    我find了适合我的解决scheme。 我将这些行添加到.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 Not Found状态代码。

    RewriteCode是确保该文件确实不存在。 如果我将其中的一个文件放到目录中,它将照常服务。

    这很好用:提到的文件不再logging到error.log(这是我的目标),但仍然logging在访问日志(404状态)。

    您可以使用mod_log_config进行条件日志logging

    这将允许你使用环境variables。

    示例这里不logging图像请求。

    将LogLevel提升到高于警告或暴击的错误不是更容易吗? 或者你有理由保持较低?