Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 集中式日志解决方案_Asp.net Mvc_Logging_Log4net_Centralized - Fatal编程技术网

Asp.net mvc 集中式日志解决方案

Asp.net mvc 集中式日志解决方案,asp.net-mvc,logging,log4net,centralized,Asp.net Mvc,Logging,Log4net,Centralized,我正在为我的ASP.NET MVC应用程序寻找一个好的集中式日志解决方案(适用于Windowsserver) 我的应用程序是可伸缩的,我希望我的日志也是可伸缩的(这样日志服务器就不会成为单点故障/瓶颈) 我以前使用过LogFaces,但此解决方案不可扩展。它使用单个日志服务器 我使用log4net作为日志记录器,并寻找可以编写(或使用)appender将日志推送到的解决方案 有什么建议吗 谢谢! Roei查看,works great可以运行每个应用程序,也可以运行一个实例来覆盖服务器上的所有应用

我正在为我的ASP.NET MVC应用程序寻找一个好的集中式日志解决方案(适用于Windowsserver)

我的应用程序是可伸缩的,我希望我的日志也是可伸缩的(这样日志服务器就不会成为单点故障/瓶颈)

我以前使用过LogFaces,但此解决方案不可扩展。它使用单个日志服务器

我使用log4net作为日志记录器,并寻找可以编写(或使用)appender将日志推送到的解决方案

有什么建议吗

谢谢!
Roei

查看,works great可以运行每个应用程序,也可以运行一个实例来覆盖服务器上的所有应用程序

我有一个appender,通过wcf的net.tcp绑定将消息发送到远程机器上的msmq消息队列。另一端有一个服务将这些消息记录到数据库中

如果您只谈论asp.net,那么elmah可能相当不错-我的理解是,它只插入到asp.net中,而不涉及windows服务等更一般的内容。不确定wcf应用程序,或者您是否关心asp.net应用程序之外的任何内容。我想在你的系统中可能还有更多,你希望标准化。此外,由于您关心的是规模,您可能会担心必须直接从asp.net访问数据库才能进行日志记录。我的理解是elmah就是这么做的。我还没有研究过它,但它可能会扩展到我对msmq的建议。如果您真的关心规模,我认为您希望以这样或那样的方式合并消息队列,wcf是一个很好的选择。

符合要求。它不是一个日志服务,但许多项目使用它进行分布式日志记录(例如ApacheWeb服务器的模块)。它有一个C#的客户端

它的价值在于一个简单的原则:生成日志的应用程序不应该受到日志记录行为的约束或中断。日志记录通常是应用程序的次要问题,而让日志文件目标磁盘填满(或日志服务崩溃)是应用程序失败的一个非常糟糕的原因

要达到这个分离级别,您必须以这样一种方式构建您的应用程序:它可以完全异步地、独立于日志记录“服务”进行日志记录。Spread使用一种被广泛理解和公认的技术实现了这一点:UDP/多播

使用Spread进行日志记录意味着您的应用程序将通过UDP以“fire and forget”模式登录。如果没有设置Spread守护进程来使用这些多播消息,那么日志消息将永远消失。但是,日志生成器和使用者之间的解耦意味着您的应用程序不必担心日志填满磁盘,也不必担心花费时间查找并使用TCP连接到中央日志服务器


不过,并非每个应用程序都适用于Spread。您的环境可能不支持多播(因此首先EC2已退出),或者您的网络管理员可能会阻止生产环境中的多播数据包。

可能是Windows事件日志?请记住,写入日志只是等式的一半。管理它们并报告其中的信息是另一半。如果您是编写代码以写入日志的开发人员,那么您需要咨询管理员,当日志在生产环境中时,管理员必须对其进行管理。他可能也有一些见解/偏好(如事件日志、数据库或其他)。感谢您的回复!我在EC2上运行我的环境,所以正如你所说的-这是一个问题,在这种情况下。。。