在我工作的公司,我创建了一个错误日志类来处理我的 ASP.net 应用程序中的错误。这是一个自定义类,因为我们不允许在我们的服务器上安装其他软件(nLog、log4net 等)。
我目前在我的两个项目中使用它,并从中看到了一些好的结果。现在我正在捕获导致页面和应用程序错误的错误。它发送并存储错误消息和所有内部异常。
我现在遇到的问题是,我收到了我不太确定如何重现的错误。我没有从任何用户那里听到任何错误报告。我不确定他们在做什么,或者即使他们将这些视为错误。
我正在考虑在每个页面上创建一个事件日志,或者在我想要更多信息的页面上创建一个事件日志。将其作为 Session 变量保存在页面上,并向其写入事件(函数的开始/结束、变量更改等)。然后只有当一个错误被调用来让它与错误消息一起发送时,看看它是否能更好地了解正在发生的事情。我希望这样做不会在所有用户访问应用程序时给我大量的事件日志,只是希望在一个用户发生错误之前发生。
你知道我应该注意的任何陷阱吗?
你对要寻找的东西有什么建议吗?
更新:
@Saret:我知道您的回复来自哪里,我同意。我对这家公司还很陌生,仍然需要学习他们是如何做事的。过去,我曾与我的同事进行过对话,如果拥有这个产品或使用这个开源项目会很棒。问题归结为,我们致力于安全系统,并且获得批准以获取这些东西需要花费大量时间、顶盖和处理所有繁文缛节。我会进一步调查这种情况,因为我相信拥有一个好的错误记录系统很重要,目前没有使用任何东西。
@Jim Blizard:我想尝试避免在某个地方记录/存储所有内容,然后找出对导致错误的情况很重要的内容。我不想陷入罗伯托·巴罗斯(Roberto Barros)链接的文章中谈论的过多信息。我目前的想法是,在每个页面的内存中保留一个字符串,如果出现错误,则在页面 Page_Error 事件中,获取该字符串并将其附加到正在记录的异常中。这样我只记录发生的错误/异常并存储带有该错误的事件日志。如果没有任何反应,正在创建的日志将被丢弃到比特桶中,再也不会被看到。
@Roberto Barros:感谢那个链接,我记得在某处读过它,但忘记保存了。