我正在尝试评估一些适用于.NET框架的最佳日志实用程序,例如Microsoft Enterprise Library,Log4Net,elmah。
已经完成此练习的人可以帮我列出市场上最好的优点和缺点。
谢谢&问候, Rajeev Ranjan Lall
答案 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
希望这有帮助。
答案 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)&这是非常好的&开源。