【发布时间】:2011-04-26 16:02:10
【问题描述】:
ELMAH 是专门为在 ASP.Net 中记录异常而构建的,这很好,但它确实让很多人(包括我自己)想要为非 Web 应用程序解决同样的包罗万象的异常记录/查看问题.
您是否知道任何与 ELMAH 类似的用于通用异常记录和报告的开源组件?
【问题讨论】:
标签: .net logging exception-handling elmah
ELMAH 是专门为在 ASP.Net 中记录异常而构建的,这很好,但它确实让很多人(包括我自己)想要为非 Web 应用程序解决同样的包罗万象的异常记录/查看问题.
您是否知道任何与 ELMAH 类似的用于通用异常记录和报告的开源组件?
【问题讨论】:
标签: .net logging exception-handling elmah
有来自微软的logging application block,还有apache基金会的log4net。
两者都是开源和免费的。
log4net 是独立的并且更易于理解,应用程序块是几个一起工作的应用程序块的一部分(尽管可以单独工作)并且在我看来更复杂。
【讨论】:
有一个网站叫 Exceptioneer。一旦集成到您的应用中,所有异常都会发送到您可以登录并查看它们的继承人网站 - 如果场外客户遇到问题,这是完美的选择。
另外,还有 log4net 或 NLog - 我更喜欢后者。
【讨论】:
有几个可用的日志框架。我们公司在切换到对象家伙之前使用了两种不同的。就个人而言,我发现它比其他的使用起来更直接。 YMMV。
同一作者还提供了一个您可能感兴趣的单独service,允许您收集和查看来自应用程序的日志。我们还没有使用这项服务,所以我不能进一步评论它。但它看起来确实很有趣,而且对某些人来说可能非常有用。
【讨论】:
如果您愿意考虑商业产品,请查看GIBRALTAR。它适用于任何 .NET 程序日志记录异常(如 ELMAH)以及使用 log4net、NLog 或自己的日志记录 API 记录跟踪消息。此外,它还收集 PerfMon 等 Windows 性能计数器,并收集 PreEmptive 的运行时智能服务等应用程序使用指标。
下面显示了几个屏幕截图,让您了解直布罗陀。您可以在http://www.gibraltarsoftware.com/See/Screenshots.aspx查看更多截图
下图显示了按操作系统、时间范围和应用程序分组的 2000 多个会话日志的摘要,其中包含所选会话的错误摘要。
下一张图片显示了单个会话的详细信息,其中包含内存和处理器使用情况图表。通过在树视图中选择类来突出显示 VerticalProgressBar 类中的消息,并显示所选日志消息的源代码。
这张最终图片显示了一组受监控方法的执行时间和调用频率摘要,下面详细介绍了各个方法调用。 Gibraltar 允许在生产中使用有效的性能监控。只需用属性标记方法即可轻松监控方法,Gibraltar 还包括一个 API,允许以编程方式记录自定义指标。
【讨论】: