我开发了一个“概念证明”应用程序,它将应用程序中未处理的异常记录到错误跟踪系统(在本例中为 Team Foundation Server,但它可以是任何错误跟踪系统)。这个想法的一个限制是我不希望每次抛出相同的异常时都打开重复的错误项(例如,许多用户遇到异常 - 它仍然是一个“错误”)。
我的第一次尝试是将异常类型、消息和堆栈跟踪作为字段存储在错误跟踪系统中。然后,日志记录组件将对错误“存储”进行查询,以查看是否存在具有相同信息的打开错误。(这个例子是.NET - 但我认为这个概念是平台独立的)。
问题显然是这些字段可能非常大(尤其是堆栈跟踪) - 并且需要“全文”类型的实现来存储它们并且搜索非常昂贵。
我想知道为这个问题定义了哪些方法。例如,我听说 FogBugz 有这样一个自动错误跟踪功能,我很好奇它是如何实现的。