我最初在 StackOverflow 上尝试过这个问题,但有人建议 serverfault 是更好的选择。所以,这就是它...
浏览我的网络日志,我发现很多条目都不是我感兴趣的。其中一些是常用的图像、css 文件和脚本,我可以通过取消选中 IIS 中文件夹属性的“日志访问”复选框来轻松排除它们。
我还想排除某些常见请求的日志条目,这些请求不在自己的文件夹中。主要是“favicon.ico”、“scriptresource.axd”和“webresource.axd”。这些(尤其是 scriptresource.axd)几乎占我网站上典型日志文件的三分之一。
那么,问题是,我该如何告诉 IIS 不要记录这些请求?有什么理由认为这是一个坏主意吗?
这样做的目的是减少日志文件的大小和服务器必须完成的工作量,使日志文件在我需要深入研究以进行故障排除时更易于管理,并满足我自己的好奇心。我意识到日志文件解析器可以跳过垃圾文件,但我感兴趣的是在解析之前减少原始文件。
答案1
IIS6 没有基于条件逻辑排除日志的解决方案。IIS7 有 (http://www.iis.net/download/advancedlogging)。
您可以关闭文件夹的日志记录,因此只要日志位于自己的文件夹中,就可以排除它们。例如,您可以关闭图像等的日志记录。
在 IIS6 中,您可以让统计应用程序排除它们。还可以压缩所有日志。它们压缩得很好。
最后,如果确实需要,您可以使用 Log Parser 读取日志并将重要的行写入另一个日志文件。然后每天删除 IIS 日志并使用 Log Parser 副本。
答案2
您还可以从日志中排除个别文件和文件夹。在 IIS 中,右键单击相关文件,选择属性,然后取消选中“记录访问”。