error handling/记录策略

你们可以分享你对asp.net 3.5基于web的应用程序的error handling/日志记录策略的了解吗?

Log4net日志记录:你发现什么有用?

记录错误的最佳做法是什么?

记录最佳实践

什么写入日志文件?

什么应该包含在最先进的错误和exception处理策略?

我应该在我的网络应用程序中记录哪些信息?

日志记录是每个应用程序中非常关键的一部分,因此您必须做好。

你应该考虑log4net 。 有关更多信息,请参阅此问题 。

它非常强大,快速且易于使用。

发生错误时,您不应尝试捕获它或直接在应用程序的代码中记录它,除非您希望从中恢复错误。 例如,如果您有一个数据驱动的Web应用程序并且数据库处于脱机状态,那么您无法从中恢复。 但是,如果您要发送电子邮件并拥有两个电子邮件服务器而第一个服务器已关闭,则可以使用第二个电子邮件服务器进行恢复。

我见过很多ASP.NET应用程序,开发人员使用try...catch块来“吞下”错误。 实际上,只有在发生错误时存在已知的恢复策略时才会使用try...catch块(例如在我之前的示例中使用备用电子邮件服务器)。 如果您的应用程序中有多个try...catch块,那么您可能做错了。

您希望避免过度使用try...catch块的原因是您希望错误记录和通知与您的应用程序正交。 您不希望在每个页面或组件中剪切和粘贴错误日志记录代码。 相反,您希望添加一些机制,以便自动记录任何未处理的exception,并自动通知开发人员。

好消息是这种错误记录和通知function很容易实现。 我的偏好是使用ELMAH ,一个免费的开源错误记录和通知系统。 或者,您可以使用ASP.NET的内置错误日志记录系统Health Monitoring 。

有关ELMAH和运行状况监视的更多信息,以及有关自定义错误页面和设置所有内容的指导,请参阅我的文章, ASP.NET Web应用程序的exception处理建议 。

快乐编程!

我将与Java无关,我将添加来自OWASP的文档 – 打开Web应用程序安全项目。 我正在实施日志/error handling策略,它确实非常有用。

stackoverflow已经回答了另一个好问题:* 记录错误的最佳做法是什么?