.NET日志记录WebService

4
我与其他开发人员合作处理一些ASP.NET项目,并考虑构建自制日志记录解决方案。但在开始任何事情之前,我想知道是否已经存在类似于我打算编写的东西。
我正在寻找一个工具、框架或其他任何东西,可用于创建日志记录Web服务。该服务将可以被我们网站中所有人访问。它提供了一组方法,用于向服务发送日志信息,服务将把它们存储到数据库中。我们可以设想一个名为“Trace(String message, TraceLevel level)”的方法,其中第一个参数可以是包含一组结构化有用信息(错误、调试或访问)的XML字符串。
一个有趣的功能将是人们可以订阅一组日志。例如,如果我正在处理“AnotherStackOverlow.com”项目并希望接收错误日志,则可以选择相应的TraceLevel轻松订阅系统。
是否有人已经使用过这样的系统?
我也对安全问题、编码问题、设计问题等感兴趣。
谢谢。

1
这不是一个Web服务,但你有看过ELMAH吗?(http://code.google.com/p/elmah/ )它是一个组件需要添加到每个网站上,但效率相当高。同样有适用于订阅功能的RSS提要和其他类似的东西。 - Matthieu
1个回答

5
在我看来,通过Web服务进行日志记录是一个非常糟糕的想法。您正在依赖于可能存在或不存在的机器之间的连接,这将导致数据丢失。
我建议您看一下Elmah,这是一个相当容易使用的ASP.NET日志记录工具。
您可以让Elmah为您记录日志。然后,您可以编写一个单独的应用程序来聚合所有日志数据(如果您将Elmah配置为记录到数据库,则相当简单),以便可以从一个位置查看所有日志数据。

+1 给 elmah,也给出了 OP 的想法不是一个好方法的声明。 - NotMe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接