代码之家  ›  专栏  ›  技术社区  ›  Dan

在业务应用程序中跟踪用户的操作

  •  6
  • Dan  · 技术社区  · 15 年前

    我们在软件中跟踪用户的所有操作,以便进行报告(搜索内容、下载资产、填写表单、与他们创建的表单相关联的内容、用户配置文件的快照和登录时的详细信息等)。以前,我们编写了一个非常健壮的跟踪逻辑,以在旧应用程序中完成所有这些细节。

    其他详细信息 : 我们有很多需要跟踪的自定义数据(特定于我们的应用程序),我们的应用程序只能通过公司内部网站访问,因此不需要有关人员来自何处的详细信息,因为我们已经知道这一点。

    我正在计划跟踪页面点击率,以便在必要时可以重新创建用户的访问。

    编辑(11/20/2009):似乎没有现成的解决方案来解决我的问题,但我会更新这个问题的设计和方向,我们将在未来几周内实施。所以如果你对这个问题感兴趣的话,请尽快回来。

    4 回复  |  直到 11 年前
        1
  •  2
  •   PilotBob    15 年前

    好。。。实际上有三种不同类型的跟踪(loggin)级别,您提到过,每种级别都有不同的工具。

    你在帖子中提到:

    1. 对我来说,这是web服务器的一个功能。I is(我认为IIS是因为你说它是.Net)将为你记录所有这些内容。有几种工具可以挖掘这些信息。

    2. 商业交易: 用户打印了一份报告。用户运行一个进程,等等。这些并不总是特定于任何数据更改。使用log4net和IoC容器之类的工具将这种类型的日志注入到业务对象中会很好地工作。

    3. 这是数据级跟踪。有几种方法可以做到这一点。但是,我建议把它放在靠近数据库的地方。在DAL中做这件事可能要容易一些,但是如果有人在应用程序之外更改数据库中的数据呢。当然,这在你的情况下是不可能的。我看到这是用触发器完成的。但是,SQL 2008补充道 change tracking

    所以,我想说你需要三种工具的结合。也许您可以将所有数据合并到一个或两个表中,以简化查看和挖掘。

        2
  •  1
  •   Scott    15 年前

    我们公司使用 log4net 用于跟踪用户操作。对于用户对我们的应用程序执行的任何操作,我们还将操作插入到数据库中。使用log4Net,您可以在日志内容和日志位置上获得非常精细的信息。这是一个 direct link

    希望能帮上忙,

        3
  •  0
  •   JB King    15 年前

    Microsoft's Enterprise Library 有一些部分可能有助于您为报告目的进行异常处理/日志记录所需的一些基本管道。可能还有其他软件包,如 log4net 这也适用于其他人可能建议的应用程序的特定部分。

    只是一些想法来评估它们对你有多好。

        4
  •  0
  •   Jé Queue    15 年前

    间接的水平。使用输入过滤器实现反向代理(Apache?)将请求和请求参数都记录到数据库中。报告和会议娱乐变得非常轻松。