C# 在asp.net中记录异常

C# 在asp.net中记录异常,c#,asp.net,logging,event-log,C#,Asp.net,Logging,Event Log,在我的团队中,有关于web应用程序异常日志记录的讨论,关于我们应该记录到文本文件还是事件日志 有谁能告诉我,应用程序中发生异常日志记录的更好方法是什么?我已经提到的两个日志库中的任何一个,或者有更好的选择吗?不要重新发明轮子-使用现有的日志库/工具,例如或,而不是编写自己的日志库。两者都为您记录异常的位置提供了多种选择,您可以选择哪个 需要考虑两件事: 1-如果您正在登录数据库,但数据库不可用/负载过重,您会登录到哪里? 2-Windows事件日志非常轻量级,这意味着您可以自动聚合来自多台计算机

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


有谁能告诉我,应用程序中发生异常日志记录的更好方法是什么?我已经提到的两个日志库中的任何一个,或者有更好的选择吗?

不要重新发明轮子-使用现有的日志库/工具,例如或,而不是编写自己的日志库。两者都为您记录异常的位置提供了多种选择,您可以选择哪个

需要考虑两件事:

1-如果您正在登录数据库,但数据库不可用/负载过重,您会登录到哪里?

2-Windows事件日志非常轻量级,这意味着您可以自动聚合来自多台计算机的日志,而无需编写任何代码

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

在我工作的应用程序中,我们用于记录数据库中的每个异常,因此这种方式更容易将异常详细信息链接到他们需要填写的“用户错误报告”(位于默认错误页面)。它在统计方面帮助我们,正如前面所说的,将异常详细信息链接到错误的用户描述(例如,他采取了哪些步骤来获取错误等等)。

另一个非常好用的日志库是

从网站:

“支持的目标包括:

  • 文件–单个文件或多个文件,带有 自动文件命名和归档
  • 事件日志–本地或远程
  • 数据库 –将日志存储在数据库中 由.NET支持
  • 网络-使用 TCP、UDP、SOAP、MSMQ协议
  • 命令行控制台–包括 信息的颜色编码
  • 电子邮件–您 可以随时接收电子邮件 出现应用程序错误
  • ASP.NET跟踪
……还有更多

其他主要特点:

  • 非常容易配置,通过配置文件和编程都可以
  • 从log4xxx知道的易于使用的记录器模式
  • 使用缓冲、异步日志记录、负载平衡、故障切换等的高级路由
  • 跨平台支持:.NET Framework、.NET Compact Framework和Mono(在Windows和Unix上)”

  • 免责声明:我是日志应用程序的开发者

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

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

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