Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
ASP.NET MVC:访问日志_.net_Asp.net Mvc_Logging - Fatal编程技术网

ASP.NET MVC:访问日志

ASP.NET MVC:访问日志,.net,asp.net-mvc,logging,.net,Asp.net Mvc,Logging,在ASP.NET MVC网站上,实现访问日志记录的最佳方式是什么?我想回答以下问题: 最受欢迎的网页是什么 在过去24小时内访问了哪些页面 等等 我可以使用远程桌面登录服务器,自己浏览IIS日志(甚至使用Microsoft日志文件解析器),但我希望能够从我的站点的管理页面运行报告 最好的方法是什么?我应该: 是否将跟踪添加到我的所有控制器方法 添加一个IHttpFilter(或其他什么),让它做日志记录 是否将IIS(Windows 2008上的IIS7)配置为登录到我的数据库中的表,然后为此表

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

  • 最受欢迎的网页是什么
  • 在过去24小时内访问了哪些页面
  • 等等
  • 我可以使用远程桌面登录服务器,自己浏览IIS日志(甚至使用Microsoft日志文件解析器),但我希望能够从我的站点的管理页面运行报告

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

  • 是否将跟踪添加到我的所有控制器方法
  • 添加一个IHttpFilter(或其他什么),让它做日志记录
  • 是否将IIS(Windows 2008上的IIS7)配置为登录到我的数据库中的表,然后为此表定义NHibernate映射
  • 还有别的吗

  • 这里有一种替代方法:

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

    为什么不直接使用[Google Analytics]?()在我看来,这是一种获取这些统计数据的简单得多的方法。此外,您还将获得大量奖金信息。更不用说你在世界任何地方都可以访问它。

    我严格地在服务器端进行计数器日志记录。您需要执行一些客户端代码来计算缓存的重新加载等。这就是为什么所有现代网络分析(如谷歌分析等)都有一个客户端的。。。代码也是


    如果不在输出缓存模块之前插入HttpModule等,那么在进行日志记录时,输出缓存也可能是一个难题。

    这无疑会使站点更依赖于外部因素。将MVC移植到Mono时会发生什么情况?只是一个想法。嗯,我想是的。无论是自己动手还是使用内置功能都无法解决所有问题。每种方法都有其优缺点。这就是为什么我投票支持塞巴斯蒂安的答案,并写下我自己的答案。:)