2009-10-29 110 views
6

我工作的公司正在使用.NET重新设计我们的应用程序。我们的应用程序使用软件即服务模式进行销售。跟踪用户在业务应用程序中的操作

我们跟踪软件中的所有用户操作以进行报告(搜索事物,下载资源,完成表单,与正在创建的表单关联的内容,用户简介和登录时的快照等) )。之前我们已经编写了一个非常强大的跟踪逻辑来完成旧应用程序中的所有这些细节。

之前,我完成我想知道如果任何人有过的,他们在过去是相当稳健实施的货架跟踪解决方案或开源跟踪系统建议的.NET应用程序这个初始的重新设计。

其他细节: 我们有很多(具体到我们的应用程序)的自定义数据的需要被跟踪和我们的应用程序只能通过公司内部网站访问等等细节上,人们从不需要为未来我们已经知道这一点。

我跟踪页的规划命中,因此用户的访问可以重现如果需要的话。

编辑(11/20/2009):似乎没有完全适合我的问题的现成解决方案,但我将用我们将在下一个实施的设计和方向更新此问题几个星期。所以如果你对这个问题发生了什么感兴趣,那么很快就会回来看看。

回答

0

Microsoft's Enterprise Library有一些部件可能与一些你可能想要异常处理/日志记录报告目的的基本水暖很有帮助。可能有其他软件包,如log4net,也可能适用于其他人可能会建议的应用程序的特定部分。

只是一对夫妇的想法的事情,以评估他们将如何为你工作。

+0

log4net是一个伟大的日志记录应用程序,但如果您想跟踪健壮的对象详细信息,可能很难使用。如果你可以用通用记录器获取所有你需要的信息到数据库,那么一定要去log4 – 2009-10-30 19:51:47

+0

@Russell - 我同意log4net是一个伟大的日志记录应用程序,但它很难用它来跟踪健壮的对象细节。 如果我们自己编写完整的跟踪代码,我可能会尝试抽象一个框架,我可以在sourceforge上发布一些东西。我想我们会为某些事情连接一个处理程序/模块,并通过我们的主要“页面”类创建跟踪事件连线。 – Dan 2009-10-30 20:55:01

1

公司采用log4net用于跟踪用户的行为。我们还将操作插入到数据库中,以便用户对我们的应用程序执行的任何操作。使用log4Net,您可以在日志记录和日志记录方面获得相当细致的体验。这里是一个direct link下载版本1.2.10(最新截至今天)的二进制文件。配置完成后,使用和记录信息非常简单。

希望这有助于

斯科特

+0

log4net专门用于跟踪用户的操作,我们已经在我们的应用程序中使用log4net进行常规应用程序日志记录/调试。感谢您对此的反馈。 – Dan 2009-10-30 20:52:06

2

嗯...真的有三种不同类型的跟踪你提到的(洛)水平和不同的工具,为每个。

在您的文章你提到:

  1. 跟踪的网页的用户访问: 对我来说这将是Web服务器的功能。 IIS(我认为IIS是因为你说它是.Net)会为你记录所有这些东西。有几种工具可以挖掘这些信息。

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

  3. 数据修改: 这是数据级别跟踪。有几种方法可以做到这一点。但是,我会建议把它靠近数据库。在DAL中执行它可能更容易一些,但如果某人在应用程序之外更改了数据库中的数据,该怎么办?当然,这可能不适用于你的情况。我已经看到这与触发器完成。但是,SQL 2008添加了 change tracking内置。

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

0

间接程度。使用输入过滤器(Apache?)实现反向代理,将请求和请求参数记录到数据库。报告和会话娱乐变得大大缓解。

+0

在商业应用程序中,您有兴趣跟踪的大部分细节通常不会通过请求来回传递 – Dan 2009-10-31 19:58:41