统一错误管理解决方案
我正在寻找一种解决方案,为我提供一个中央枢纽,从中查看和管理系统中发生的错误,无论它们发生在哪个层。我已经有了日志记录(log4net)、性能计数器等。但我想知道我可以使用什么工具将这些信息整理到一个中心位置。我对商业和开源解决方案都感兴趣。
理想情况下,我希望早上上班时查看一份报告,该报告告诉我:
- 发生了哪些错误
- 发生在什么环境中 发生
- 在哪一层环境中 发生错误
- 的详细信息 (Web、应用程序服务器、客户端)错误(消息、堆栈跟踪等)
如果很重要,我在服务器端、Flash/Flex 客户端上使用 .NET 3.5。我的目的是公开一个服务,客户端可以调用该服务来记录错误(当然,假设错误不妨碍网络连接)。
任何想法将不胜感激。
谢谢,
肯特
I'm looking for a solution that gives me a central hub from which to view and manage errors that occur in my system, regardless of the tier in which they occur. I already have logging (log4net), perf counters, etc. But what I'm wondering is what tools I can use to collate this information into a central place. I am interested in both commercial and open source solutions.
Ideally, I want to walk into work in the morning and look at a report that tells me:
- what errors have occurred
- what environment the error occurred in
- what tier of the environment the error occurred in (web, app server, client)
- the details of the error (message, stack trace etc)
If it matters, I'm using .NET 3.5 on the server side, Flash/Flex client side. My intention is to expose a service that clients can invoke to log errors (assuming the error doesn't preclude network connectivity, of course).
Any ideas would be appreciated.
Thanks,
Kent
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请查看 Google Elmah。我已经将它用于多个应用程序并发现它非常有用。
Have a look at Google Elmah. I've used it for several applications and have found it quite useful.
我们使用 Log4Net 附加程序(通过 UDP 网络)记录到中央 syslogd(Windows 端口)。这适用于 .net 方面,但我对 Flash/Flex 知之甚少,所以我无法告诉您任何相关信息。
We're using a Log4Net appender to log (via UDP networking) to a central syslogd (windows port). That'd work for the .net side of things, but I don't know much about Flash/Flex, so I can't tell you anything about that.
您可以构建一个用于所有环境和层都可以指向的错误收集的 Web 服务接口。作为一个 Web 服务应该允许您通过不同的技术(即 Flash/Flex 应用程序)与其进行优雅的交互。作为包含 Web 服务的 Web 应用程序,您还可以为其提供其他未明确 Web 服务契约的接口,例如可以简化非 .NET 技术实现的 RESTful 接口。然后,您可以为简单且单一的收集和交付/报告系统构建由同一 Web 应用程序呈现的报告。当然,这种集中式收集系统会遇到连接问题,但我觉得这些问题超出了此类系统试图实现的范围。它们通常是一个更大的问题和人们迅速提出的问题的标志(例如,当他们因为内管故障而无法更新他们的 Facebook 状态时。;-)
我不知道这样的系统是什么样的市售。几年前,我为前雇主构建了这样一个实现,它并不是非常困难或复杂。
You could build a web service interface for error collection that all environments and tiers could point to. Being a web service should allow you to gracefully interact with it from different technologies (i.e. your Flash/Flex applications). Being a web application containing web services, you could also provide other interfaces to it that aren't explicitly web service contracts, such as a RESTful interface which might simplify non-.NET technology implementation. Then you could build reports presented by the same web application for a simple and single collection and delivery/reporting system. Of course, this kind of centralized collection system would be subject to connectivity problems, but I feel that those kinds of issues are outside the scope of what such a system is trying to achieve. They are usual a sign of a much larger problem and issues that are raised quickly by people (e.g. when they can't update their facebook status because the intertubes are down. ;-)
I don't know what kind of systems like this are commercially available. I build such an implementation for a previous employer years ago and it was not terribly difficult or complex.