我正在寻找3.5中一个新的asp.net站点,它绝对没有错误处理或日志记录.记录和处理错误有哪些好的选择?我在1.1框架上使用过Log4Net,但听说3.5中有更好的选择.
一种选择是ELMAH.我在这里问了一个问题: ASP.NET错误处理.
从那时起,我已经实现了它的略微修改版本,并且日志和电子邮件非常好,并且易于通过web.config文件进行集成.
我们使用两种选项进行日志记录: -
ELMAH用于意外的异常处理
NLog用于预期的,手动(调试,信息和错误)信息.
ELMAH是一个非常好的开箱即用插件,可以自动捕获异常(从404(未找到页面)到500异常抛出)并具有内置的web-ui来可视化这些错误.因此,它是一种非常快速有效的方法来捕获发生的意外错误.
现在NLog 通过让我们的开发人员在特定位置手动将调试信息插入代码来补充这一点,因此当我们需要从非locahost系统获取信息时,它非常容易.例如,我们log.Debug(..)
在大多数方法中丢弃代码以查看局部变量是什么或返回值等.对于更重要的信息,我们然后使用log.Info(..)
..但使用它的次数要少得多.最后,对于我们陷入困境和处理的严重错误,我们通常在某些范围内使用log.Error(..)
或log.Warn(..)
.. try/catch
因此,在我们的测试或实时服务器上,Debug
如果我们需要获取大量数据,实时...或者只是一般重要信息(例如状态和更大),我们将打开所有日志记录状态(例如,更大)Info
.我们一直都有Warn, Error and Fatal
国家总是在.调试状态生成大量数据,因此我们只是谨慎使用.
总而言之,我建议您对WebApp使用两种方法.Elmah用于出现意外错误捕获和NLog 预期信息和错误.
最后,NLog比WA4更容易使用/工作.它基本上超过它,IMO.