10

我正在尝试评估一些可用于 .NET 框架的最佳日志实用程序,例如 Microsoft Enterprise Library、Log4Net、elmah。

已经完成此练习的人能否帮助我列出市场上最好的产品的优缺点。

谢谢和问候, 拉吉夫·兰詹·拉尔

4

10 回答 10

15

一般来说,好的一个是Log4net

优点: Log4Net 支持许多输出源。
缺点:有时会减慢您的应用程序。

对于 ASP.NET 应用程序来说,ELMAH是最好的。

优点:您无需稍微更改应用程序代码即可使用 Elmah。您只需将其包含在您的应用程序中即可。
缺点:我不知道。

于 2010-01-21T07:30:15.467 回答
7

虽然我还没有测试过,但我也听说过关于NLog的好消息。他们说 API 类似于 log4net 提供的 API。

此外,通过 SO,您有很多与此问题相关的问题:

https://stackoverflow.com/questions/98080/what-is-the-best-logging-solution-for-ac-net-3-5-project

.NET 日志框架

在 C# 中记录错误

希望这可以帮助。

于 2010-01-21T07:44:00.257 回答
5

看看我的日志框架。便于使用。易于配置。易于扩展。

听听这家伙怎么说

于 2010-01-21T13:23:12.550 回答
3

log4net用于 Windows 窗体,log4net 和ELMAH用于 ASP.NET。

ELMAH 和 log4net 有不同的用途。ELMAH 捕获有关未处理异常的数据,而 log4net 提供可配置级别(INFO、WARN、DEBUG、FATAL)的日志框架。log4net 要求您在代码中主动编写日志记录语句;正确配置后,ELMAH 会自动工作。

于 2010-01-28T19:59:42.177 回答
2

elmah是最好的。埃尔玛摇滚!

于 2010-01-21T07:28:28.640 回答
1

Enterprise Library 是我使用过的唯一正式版本,我们的团队发现它过于繁琐且缺乏黄金时段的多功能性。您可以安全地避免它,并且最终可能会更好地编写自己的解决方案。

我还没有机会使用 Log4Net 或 Elmah。

于 2010-01-21T07:31:51.187 回答
1

我曾经使用我自己的自定义、entlib、log4net 和 Elmah

对于 asp.net 错误报告,Elmah 领先于其他人。然而,我希望改进的几件事是过滤,也许是电子邮件的每日摘要,而不是每个错误一封电子邮件。

如果你想注入日志、警告、调试、跟踪等,那么我会选择 log4net。

但是,这取决于您所追求的日志记录类型...

于 2010-01-21T07:31:56.307 回答
1

查看Gibraltar以获得出色的日志记录以及更多信息。

它有自己的日志 API,我们也有用于 log4net、NLog 和 Object Guy 的日志框架(PostSharp 也是!)的适配器。除了日志记录,Gibraltar 还收集 ELMAH 等错误,并收集对客户支持或 CEIP 有用的其他指标。

于 2010-01-28T19:52:15.457 回答
0

还没有看到提到过,但是我发现内置的 System.Diagnostics TraceSource 和 TraceListeners 对于日志记录非常强大。我们为将日志保存到的不同数据源构建了许多高性能自定义 TraceListener。

我们一直在配置文件中交换不同的监听器。我们利用 System.Diagnostics.CorrelationManager 通过日志遍历许多服务器、进程和线程的执行链。

总而言之,我们在框架附带的基础上构建了一个复杂的日志记录解决方案,我对此非常满意。

于 2010-01-28T20:05:28.960 回答
0

我使用过 Logstash ( https://www.elastic.co/products/logstash ),这非常好而且是开源的。

于 2017-06-28T12:16:23.290 回答