C# 我是否应该使用消息队列代理来登录集中模式?

C# 我是否应该使用消息队列代理来登录集中模式?,c#,web-services,logging,msmq,nlog,C#,Web Services,Logging,Msmq,Nlog,我想为我们的基础设施制作一个集中的日志,因为可以很容易地在一个地方找到所有东西。我们目前有大约15~20个不同的系统需要登录,我正在考虑将nlog用于web服务 到目前为止还不错,但后来我读到了这篇文章: 中央存储库的可用性比“如果无法连接,请不要记录”要复杂一些,因为最有趣的事件通常发生在出现问题时,而不是事情进展顺利时 因此,作者(Remus Rusanu)说,如果我在Microsoft环境中(我就是这样),使用MSMQ是一种很好的方式。我认为这有一定的道理,所以我想看看其他的观点,我发现一

我想为我们的基础设施制作一个集中的日志,因为可以很容易地在一个地方找到所有东西。我们目前有大约15~20个不同的系统需要登录,我正在考虑将nlog用于web服务

到目前为止还不错,但后来我读到了这篇文章:

中央存储库的可用性比“如果无法连接,请不要记录”要复杂一些,因为最有趣的事件通常发生在出现问题时,而不是事情进展顺利时

因此,作者(Remus Rusanu)说,如果我在Microsoft环境中(我就是这样),使用MSMQ是一种很好的方式。我认为这有一定的道理,所以我想看看其他的观点,我发现一般的想法是MSMQ对于“仅仅记录”来说太多了,只是这次决定的原因是“性能”


因此,根据您的经验,我应该担心集中式记录器的高可用性,还是应该在服务不可用时登录到本地文件。

我同意MSMQ有点过分。我使用共享DLL来记录本地磁盘和SQL Server。当然,数据库不会让您获得最快的写入性能,但它们是为高可用性而设计的,而且安装起来非常简单。感谢您的回答Zer0,问题是我的网络之外有一些系统,因此我无法直接登录SQL Server,因为我们没有将数据库服务器公开给WAN。在这个场景中,我必须提供某种web服务来允许日志记录。我应该使用标准的web服务,还是真的应该担心中央存储库的高可用性……然后我会登录到您的web服务和本地磁盘。有备份也无妨。@Zer0,谢谢:)我不知道为什么我没有想到xD