从ASP.NET添加自定义值到IIS日志

时间:2010-10-04 17:04:39

标签: asp.net iis logging

我只想将页面运行时生成的附加值附加到当前请求的IIS日志条目中(或者作为替代方法,使用我的自定义值覆盖其中一个标准字段)。

我找不到办法做到这一点,我找不到用C#编写自定义日志处理程序的例子(我不精通С++)

感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

您可以使用名为AppendToLog的ASP.NET方法将任何字符串添加到IIS日志文件中。它将“附加”到包含查询字符串的列,以便您可以进一步查询它,请参阅: Response.AppendToLog http://msdn.microsoft.com/en-us/library/system.web.httpresponse.appendtolog.aspx

答案 1 :(得分:2)

如果您使用的是IIS 7.x,则可以使用Advanced Logging扩展名来实现此目的。

使用此功能,您可以从多个不同来源的自定义字段中获取数据。有一篇关于在此设置此内容的文章:

  

Advanced Logging for IIS 7.0 - Custom Logging

在IIS6中,您需要实现自己的自定义记录器,我认为没有办法拦截记录事件到默认记录器(iislog.dll)并添加额外数据:

  

Creating Custom Logging Modules for IIS

您的记录器可能还必须用C ++编写,用于IIS6,除非您可以强制.NET运行时加载到COM包装器组件中。