Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IIS.Net HttpModule高级日志记录字段_.net_Iis_Logging_Iis 7_Httpmodule - Fatal编程技术网

IIS.Net HttpModule高级日志记录字段

IIS.Net HttpModule高级日志记录字段,.net,iis,logging,iis-7,httpmodule,.net,Iis,Logging,Iis 7,Httpmodule,我试图找到一种方法来记录用于匹配来自MVC3的路由的正则表达式(即/api/person/{personid}/address/{addressid}) 我发现您可以使用HttpResponse.AppendToLog在IIS日志中的cs uri查询中添加一些内容,但这相当繁琐,使处理日志成为一个pita。这让我想到了HttpModules和IIS7高级日志 我目前的理解是,我可以从HttpModule为高级日志记录提供字段。因此,我应该能够在HttpContext中查找Route对象使用的正则

我试图找到一种方法来记录用于匹配来自MVC3的路由的正则表达式(即
/api/person/{personid}/address/{addressid}

我发现您可以使用
HttpResponse.AppendToLog
在IIS日志中的cs uri查询中添加一些内容,但这相当繁琐,使处理日志成为一个pita。这让我想到了
HttpModules
和IIS7高级日志

我目前的理解是,我可以从
HttpModule
为高级日志记录提供字段。因此,我应该能够在
HttpContext
中查找Route对象使用的正则表达式,并将其作为高级日志记录可以使用和记录的字段公开

我的问题是,我在弄清楚如何在高级日志记录可以使用的自定义
HttpModule
中将数据作为字段公开时遇到了问题。

我是否需要为
LogRequest
设置事件处理程序?如果我这样做了,我应该在事件处理程序中做些什么,使其可用于高级日志记录

任何指向文档的指针、代码示例和/或链接都将不胜感激


另外,如果您知道任何解释/列出IIS7中安装的默认模块中可用“已发布”字段的文档,请提供链接。

好,我最终处理这个问题的方法是创建一个
HttpModule
,它将从
HttpContext
中提取路由模式,并将其作为
URL\u模式
放入服务器变量中

一旦它进入
server\u变量
IIS7,高级日志可以获取并保存它。如果当前请求没有路由,它将只使用url的正常本地部分(因此它将匹配日志中的cs-uri-stem

现在sql/log解析器将查询:

select url_pattern,count(url_pattern) from (yourlogs) where timestamp between (start/end) group by url_pattern order by count(url_pattern) desc
将返回应用程序中每个端点的点击数

这显然可以在fubu a行为中完成,但我们有一堆经典的asp和MVC3(我知道我知道…),这将处理所有这些

显然,你也可以使用
RaiseTraceEvent
从模块中“发布”一个字段,IIS7高级日志记录可以获得该字段,但它让我很难找到它,所以我只使用了我所拥有的

我把这个问题贴得到处都是,引用了fubu和MVC3,我几乎没有兴趣,这让我非常惊讶。如果你不能很容易地确定正在使用的路线,人们如何在他们的日志中查找信息

我就把这个留在这里。。。。 这篇文章还有几个部分还没有完成,所以我将留下这篇文章,但不把它标记为anwser