exception - 错误日志数据库-对于许多应用程序

标签 exception logging error-logging

我有一堆现有的客户端/服务器应用程序,目前正在使用。有时,客户会希望添加某种类型的Web界面来访问其部分数据。这些通常是自定义的,尽管有些是“通用的”。但是每个人在自己的VM中都有自己的“实例”。

我想要的是一个集中区域来捕获和记录所有这些VM上出现的任何错误。

我正在考虑创建一个新数据库并设置一个WCF服务,以使每个这些Webapp都可以在我的集中式数据库以及本地EventLog中创建一个日志条目。

那是一个不好的设计吗?

更新

该Web应用程序位于ASP.NET中内置的2003/IIS6和2008/IIS7上。许多实例位于一对Web服务器上,但是许多实例将部署到单个VM。

最佳答案

这正是我们实现它的方式。

我们在数据库中有3个表:

Event Types
------------ 
EventType int 
EventDescription varchar(50)


MonitoredSystems
---------------
SystemID int
SystemName varchar(50)
SystemDescription text


Events
-------
RecordID bigint
EventTime datetime
SystemID int FK
EventText text
EventType int FK
Acknowledged bit

我们还建立了一个可以查看事件的站点。通过“已确认”字段,我们可以设置一个名为“未确认的关键问题”的 View ,以便我们可以快速查看任何新问题,并在阅读它们时对其进行确认。

我们知道还有其他工具可以为我们做到这一点,但是没有一个工具像我们自己开发的版本一样易于集成,现在我们在构建的每个应用程序中都使用它。我们还有一些其他自定义项,在这里我没有提到其他工具没有提供即用的功能。

所以我认为您的想法很好。如果您自己构建它,则可以对其进行自定义,使其以您想要的方式工作。但是,我建议至少研究一下Log4net等工具。

关于exception - 错误日志数据库-对于许多应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2001358/

相关文章:

java - 在握手过程中从 SSLEngine Wrap 方法获取 SSLException

python - 检查在 Python 中打开了哪些文件

Laravel 5 - 更改默认日志位置,将日志文件移至应用程序之外

ios - 在 Xcode 5 中隐藏 "*** First throw call stack"

java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/http/conn/scheme/SchemeSocketFactory while Using Crawler4j 中出现异常

java - java sphinx程序中的错误

ios - 如何禁用某个 oslog 日志级别?

java - Log4j 1.x Sentry 附加器 : suppress warnings from specific sources for one appender

jsp - system.out.println 从 JSP 的哪里打印?

python - 如何在 appengine 中记录异常?