2009-01-25 99 views
4

在ASP.NET MVC网站上,实现访问日志记录的最佳方式是什么?我想回答以下问题:ASP.NET MVC:访问日志

  1. 什么是最受欢迎的页面?
  2. 过去24小时内访问过哪些页面?

登录到服务器使用远程桌面,并捅了IIS日志我自己(甚至使用Microsoft日志文件分析器),但我希望能够运行从报告我的网站的管理页面。

这样做的最好方法是什么?我应该:

  1. 添加跟踪到我所有的控制器方法?
  2. 添加一个IHttpFilter(或其他),并有记录?
  3. 配置IIS(Windows 2008上的IIS7)登录到我的数据库中的表,然后为此表定义一个NHibernate映射?
  4. 还有别的吗?

回答

0

塞巴斯蒂安的回答肯定是不坏(上投),但是,它重新实现在IIS中已有的功能。 IIS的日志记录可能会比本地的东西更好。 (例如,它会记录没有通过MVC堆栈的东西)。出于这个原因,我希望沿着你的选项3使用某些东西。

+0

当然,这使网站更依赖于外部因素。 MVC移植到Mono时会发生什么? 只是一个想法。 – Kieron 2009-01-26 15:22:37

0

为什么不直接使用[Google Analytics]?( http://www.google.com/analytics/)在我看来,获得这些统计数据的方法要简单得多。另外你会得到丰富的奖金信息。更不用说你在世界任何地方都可以使用它。

0

我的计数器严格记录在服务器端。您需要执行一些客户端代码来计数缓存重新载入等。这就是为什么所有现代网站分析(如Google Analytics等)都有一个客户端代码...也是如此。

如果不在输出缓存模块等之前插入HttpModule,输出缓存在做日志记录时也会很痛苦。