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

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

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

谢谢和问候,Rajeev Ranjan Lall

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

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

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

.NET日志框架

登录C#时出错

希望这可以帮助。

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

并听听这个人说的话 。

用于Windows Forms的log4net,用于ASP.NET的log4net和ELMAH 。

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

elmah是最好的。 elmah岩石!

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

我没有机会使用Log4Net或Elmah。

我曾经使用自己的自定义,entlib,log4net,然后使用Elmah

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

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

但是,这取决于您之后的日志记录类型……

查看直布罗陀的优质伐木以及更多。

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

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

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

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

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