哪个日志实用程序适用于C#(ASP.NET,WinForms)中的.NET应用程序?

时间:2010-01-21 07:26:56

标签: c# .net error-logging

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

已经完成此练习的人可以帮我列出市场上最好的优点和缺点。

谢谢&问候, Rajeev Ranjan Lall

10 个答案:

答案 0 :(得分:15)

一般来说,好的是Log4net

PROS: Log4Net支持多种输出源 缺点:有时会降低您的申请速度。

对于ASP.NET应用程序是最好的ELMAH

PROS:您不必稍微更改应用程序代码即可使用Elmah。你必须在你的申请中加入。
缺点:不是我知道的。

答案 1 :(得分:7)

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

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

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

.NET logging framework

Error logging in C#

希望这有帮助。

答案 2 :(得分:5)

看一下我的logging framework。使用方便。易于配置。易于扩展。

听取this guy says的内容。

答案 3 :(得分:3)

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

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

答案 4 :(得分:2)

elmah 是最好的。 elmah rocks!

答案 5 :(得分:1)

企业图书馆是我遇到的唯一正式版本,我们的团队发现它太繁琐,缺乏黄金时段的多功能性。您可以安全地避免它,并且最终可能会更好地编写您自己的解决方案。

我没有机会使用Log4Net或Elmah。

答案 6 :(得分:1)

我以前使用自己的自定义,entlib,log4net,然后使用Elmah

对于asp.net错误报告,Elmah比其他人更好。但是,我希望看到的一些改进的事情是过滤,也许每天都会对电子邮件进行摘要,而不是每个错误都有一封电子邮件。

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

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

答案 7 :(得分:1)

查看Gibraltar以获取更好的日志记录以及更多内容。

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

答案 8 :(得分:0)

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

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

总而言之,我们拥有一个基于框架附带的复杂日志记录解决方案,我对它非常满意。

答案 9 :(得分:0)

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