ASP.NET MVC:访问日志

时间:2009-01-25 08:25:38

标签: .net asp.net-mvc logging

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

  1. 最受欢迎的网页是什么?
  2. 过去24小时内访问过哪些页面?
  3. 可以使用远程桌面登录服务器并自己浏览IIS日志(甚至使用Microsoft Logfile Parser),但我希望能够从管理页面运行报告我的网站。

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

    1. 向我的所有控制器方法添加跟踪?
    2. 添加IHttpFilter(或其他任何内容)并进行日志记录?
    3. 配置IIS(Windows 2008上的IIS7)以记录到我的数据库中的表,然后为此表定义NHibernate映射?
    4. 别的什么?

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

塞巴斯蒂安的回答肯定不错(上调),但是,它正在重新实现IIS中已有的功能。 IIS的日志记录可能比本地的日志更好。 (例如,它将记录未通过MVC堆栈的内容。)因此,我倾向于使用类似于选项3的内容。

答案 2 :(得分:0)

为什么不直接使用[Google Analytics]?(http://www.google.com/analytics/)在我看来,这是获取这些统计数据的一种简单方法。另外,您将获得丰富的奖励信息。更不用说你可以在世界任何地方访问它了。

答案 3 :(得分:0)

我严格控制服务器端的日志记录。您需要执行一些客户端代码来计算缓存重新加载等。这就是为什么所有现代网络分析(例如Google Analytics等)都有一个客户端的代码片段。

如果不在输出缓存模块之前插入HttpModule等,那么在执行日志记录时输出缓存也会很麻烦。