使用 ELMAH 在 EventLog 中记录错误

发布于 2024-08-16 07:54:19 字数 100 浏览 6 评论 0原文

我正在使用 ELMAH 记录我的 asp.net MVC(C#) 应用程序中的错误。

我能够在 xml 或数据库中记录错误。如何使用 ELMAH 将错误记录到事件日志中?

I am using ELMAH to log errors in my asp.net MVC(C#) application.

I am able to log errors in xml or database. How to log errors to the eventlog using ELMAH?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

厌味 2024-08-23 07:54:19

ELMAH 不包括事件日志选项。

ELMAH 错误日志类不是只写的;他们还读取日志数据,以便将其显示在 ELMAH Web 界面中。此外,ELMAH 记录的不仅仅是异常信息。它还记录服务器变量、表单集合以及重现黄屏死机所需的信息。即使您将所有这些信息记录到事件日志中,也很难以纯文本形式读取,并且很难以 ELMAH Web 界面可以使用它的方式读回。如果您不打算使用 ELMAH Web 界面,那么显然这不是问题。

如果要将基本异常数据记录到事件日志中,您可以通过子类化 ErrorLog 来创建自己的错误日志。 ELMAH 支持多个错误日志,因此您可以继续将详细数据记录到 XML 或数据库(以服务 ELMAH Web 界面),然后将该数据的子集记录到事件日志。

ELMAH does not include an event log option.

ELMAH error log classes are not write-only; they also read the log data so that it can be displayed in the ELMAH web interface. Additionally, ELMAH logs more than just exception information. It also logs server variables, the form collection, and the information necessary to reproduce the yellow screen of death. Even if you were to log all of this information to the event log it would be difficult to read as plain text, and very difficult to read back in such a way that the ELMAH web interface could use it. If you are not going to use the ELMAH web interface then clearly that is not an issue.

If you want to log basic exception data to the event log you can create your own error log by subclassing ErrorLog. ELMAH supports multiple error logs, so you could continue to log detailed data to XML or a database (to service the ELMAH web interface) and then log a subset of that data to the event log.

篱下浅笙歌 2024-08-23 07:54:19

开箱即用,你不能。您必须编写一个自定义处理程序。

Out of the box, you can't. You'd have to write a custom handler.

淡写薰衣草的香 2024-08-23 07:54:19

你可以做这样的事情。

Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("My Exception");

You can do something like this.

Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("My Exception");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文