我正在尝试评估一些可用于 .NET 框架的最佳日志实用程序,例如 Microsoft Enterprise Library、Log4Net、elmah。
已经完成此练习的人能否帮助我列出市场上最好的产品的优缺点。
谢谢和问候, 拉吉夫·兰詹·拉尔
我正在尝试评估一些可用于 .NET 框架的最佳日志实用程序,例如 Microsoft Enterprise Library、Log4Net、elmah。
已经完成此练习的人能否帮助我列出市场上最好的产品的优缺点。
谢谢和问候, 拉吉夫·兰詹·拉尔
虽然我还没有测试过,但我也听说过关于NLog的好消息。他们说 API 类似于 log4net 提供的 API。
此外,通过 SO,您有很多与此问题相关的问题:
https://stackoverflow.com/questions/98080/what-is-the-best-logging-solution-for-ac-net-3-5-project
希望这可以帮助。
elmah是最好的。埃尔玛摇滚!
Enterprise Library 是我使用过的唯一正式版本,我们的团队发现它过于繁琐且缺乏黄金时段的多功能性。您可以安全地避免它,并且最终可能会更好地编写自己的解决方案。
我还没有机会使用 Log4Net 或 Elmah。
我曾经使用我自己的自定义、entlib、log4net 和 Elmah
对于 asp.net 错误报告,Elmah 领先于其他人。然而,我希望改进的几件事是过滤,也许是电子邮件的每日摘要,而不是每个错误一封电子邮件。
如果你想注入日志、警告、调试、跟踪等,那么我会选择 log4net。
但是,这取决于您所追求的日志记录类型...
查看Gibraltar以获得出色的日志记录以及更多信息。
它有自己的日志 API,我们也有用于 log4net、NLog 和 Object Guy 的日志框架(PostSharp 也是!)的适配器。除了日志记录,Gibraltar 还收集 ELMAH 等错误,并收集对客户支持或 CEIP 有用的其他指标。
还没有看到提到过,但是我发现内置的 System.Diagnostics TraceSource 和 TraceListeners 对于日志记录非常强大。我们为将日志保存到的不同数据源构建了许多高性能自定义 TraceListener。
我们一直在配置文件中交换不同的监听器。我们利用 System.Diagnostics.CorrelationManager 通过日志遍历许多服务器、进程和线程的执行链。
总而言之,我们在框架附带的基础上构建了一个复杂的日志记录解决方案,我对此非常满意。
我使用过 Logstash ( https://www.elastic.co/products/logstash ),这非常好而且是开源的。