我正在查看一个全新的asp.net 3.5网站,它没有任何错误处理或日志记录。有哪些好的选项可以用于日志记录和处理错误?我已经在1.1框架上使用过Log4Net,但听说在3.5中可能有更好的选择。
我正在查看一个全新的asp.net 3.5网站,它没有任何错误处理或日志记录。有哪些好的选项可以用于日志记录和处理错误?我已经在1.1框架上使用过Log4Net,但听说在3.5中可能有更好的选择。
其中一种选择是ELMAH。我在这里提出了一个关于它的问题:ASP.NET错误处理。
自那以后,我实现了一个稍微修改过的版本,记录和发送电子邮件非常好,并且可以通过web.config文件轻松集成。
log.Debug(..)
代码以查看本地变量或返回值等。对于更重要的信息,我们使用log.Info(..)
..但使用较少。最后,对于我们已经捕获并处理的严重错误,我们使用log.Error(..)
或log.Warn(..)
..通常位于某些try/catch
范围内。因此,在我们的测试或生产服务器上,如果我们需要获取大量实时数据,则打开所有日志记录状态(例如Debug
及以上)..或者只需一般重要信息,例如Info
状态及以上。我们始终保持Warn,Error和Fatal
状态始终开启。调试状态会生成大量数据,因此我们只会很少地使用它。如果您已经习惯了log4net,请继续使用它。它易于使用,快速且功能良好。我已经在1.1、2.0和现在的3.5版本中使用了多年。
就我个人而言,我没有尝试过log4net,但看过winforms的规格和示例,但我们的组织编写了我们自己的记录机制,报告和记录在global.asax中捕获的错误,这些错误报告了我们需要知道的有关堆栈跟踪、会话(如果存在)、表单的NVC、应用程序的版本、来源于错误的URL查询字符串以及HTTP标头的所有内容。虽然我注意到并非所有错误都会在那里记录;例如,表单身份验证过期或应用程序池重新启动/关闭或由IIS报告的任何未由应用程序执行抛出的事情。