繁体   English   中英

记录asp.net中的异常

[英]Logging exceptions in asp.net

在我的团队中,有关于Web应用程序异常日志记录的讨论,关于我们是应该记录到文本文件还是事件日志。

任何人都可以告诉我哪个是在应用程序中发生异常日志的更好方法? 我已经提到的两个中的哪一个还是有更好的选择?

不要重新发明轮子 - 使用已经存在的日志库/工具(如log4netELMAH)而不是编写自己的日志记录库。 两者都为您提供了多种选择,可以将异常记录在哪里,这取决于您喜欢的内容。

需要考虑的两件事:

1 - 如果您正在登录数据库,那么您在哪里登录,但数据库不可用/负载很重?
2 - Windows事件记录非常轻量级, 事件日志转发意味着您可以自动聚合来自多台计算机的日志而无需编写任何代码

另一个伟大且易于使用的Logging-Library是NLOG

从网站:

“支持的目标包括:

  • 文件 - 单个文件或多个文件,具有自动文件命名和存档功能
  • 事件日志 - 本地或远程
  • 数据库 - 将您的日志存储在.NET支持的数据库中
  • 网络 - 使用TCP,UDP,SOAP,MSMQ协议
  • 命令行控制台 - 包括消息的颜色编码
  • 电子邮件 - 您可以在发生应用程序错误时收到电子邮件
  • ASP.NET跟踪

… 还有很多

其他主要特点:

  • 通过配置文件和编程方式非常容易配置
  • log4xxx中已知的易于使用的记录器模式
  • 使用缓冲,异步日志记录,负载平衡,故障转移等的高级路由
  • 跨平台支持:.NET Framework,.NET Compact Framework和Mono(在Windows和Unix上)“

我更喜欢文本文件,因为它允许更灵活,更容易导航。 我想这是一个偏好问题,但Windows事件日志中的错误之间的导航似乎非常麻烦。 除了繁琐的导航外,它还包含您不关心的错误。 如果您可以定义格式内容,那么效率会更高。

在我工作的应用程序中,我们习惯于在数据库中记录每个异常,因此这种方式更容易将异常详细信息链接到他们请求填写的“用户错误报告”(这是我们的默认错误页面)。 它帮助我们统计数据,正如已经说过的,将异常细节链接到用户对错误的描述(比如,他为获取错误采取了哪些步骤等等)

免责声明:我是KissLog.net日志记录应用程序的开发人员。

log4Net和Elmah非常好,但它们的能力有限。

Elmah不支持跟踪/日志消息,仅记录异常,而log4Net不提供用户界面来浏览日志。

您可以尝试使用KissLog.net ,它是一个应用程序,我试图聚合所有必要的日志记录功能(捕获错误,日志/跟踪消息,易于使用的用户界面)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM