2011-03-23 74 views
2

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

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

回答

5

不要重新发明轮子 - 使用写你自己的日志库,而不是如log4netELMAH已经存在的日志库/工具。这两种方式都为您提供多种选择来记录异常情况,这取决于您的喜好。

两件事情要考虑:

1 - 你在哪里登录,如果你登录到数据库,但数据库不可用/重负载下?
2 - Windows事件记录功能非常轻巧,而event log forwarding意味着您可以自动汇集多台机器的日志而无需编写任何代码

+1

,如果我可以投票这件事一百次,我会。 – 2011-03-23 06:56:18

1

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

1

在我的工作中,我们用来记录在数据库中的所有例外应用程序,所以这种方式更容易连接异常细节,他们要求填写(以下简称“用户错误报告”,这是在我们的默认错误页面)。它可以帮助我们在统计和前面已经说了,连接异常细节错误的用户描述(比如,哪些步骤,他走上得到这个错误,等...)

2

另一个伟大的,易于使用的日志库为NLOG

从网站:

“支持的对象包括:

  • 文件 - 单个文件或多个,与 自动文件命名和归档
  • 事件日志 - 本地或远程
  • 数据库 - 存储你的日志由.NET
  • 网络支持的数据库 - 使用 TCP,UDP,SOAP,MSMQ协议
  • 命令行控制台 - 包括 颜色编码的邮件
  • 电子邮件 - 您 可以收到电子邮件,每当 发生应用程序错误
  • ASP。Net跟踪

...等等

其他主要功能:

  • 很容易配置,无论是通过配置文件和程序
  • 易于使用记录器模式从log4xxx知
  • 使用缓冲,异步记录,负载平衡,故障转移等的高级路由
  • cro ss平台支持:.NET Framework,.NET Compact Framework和Mono(在Windows和Unix上)“
0

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

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

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

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