工作天蓝色日志设置

bat*_*uip 13 logging log4net trace azure

我一直试图设置跟踪日志记录一段时间,我根本无法让它正常工作.关于这个主题,它们没有太多错误/过时的文章.但有人可以给我一个良好而实用的设置,用于Azure的跟踪记录和查看(1.6)

我想要做的就是从我的应用程序捕获和查看跟踪消息的能力.

我从标准的DiagnosticMonitorTraceListener开始,但最终在表存储中.我不能为我的生活弄清楚我应该如何与表存储中的日志进行交互.在Visual Studio中,我可以"查看"它,但使用它非常麻烦,实际上没用.没有排序,必须编写繁琐的日期过滤器,其中一半的时间不起作用.

自定义日志似乎要走了.我用log4net做了很多工作,所以我选了那个.您可以将log4net重定向到跟踪,但最终会得到同样糟糕的表存储.它是自定义日志文件.现在,如果支持与否,我已经感到困惑了.有些文章提到诊断文件锁会导致各种问题.不确定这是否仍然存在问题,无论奇怪,为什么在无法读/写日志时提供自定义日志传输功能?!无论如何,我没有任何问题写入日志(我已经注意到).

设置是根据MSDN文章(额外模糊和非常分散btw).在ServiceDefinition(128Mb)中定义LocalStorage元素.在角色启动中添加目录日志传输.走.这似乎有效.直到一段时间之后,角色在重启期间陷入困境,而且还没有足够大的消息,角色就会消失而且拒绝出现.即使在4080Mb内也有太多可用空间,这根本没有意义.

再次关注增加配额的文章,但这些似乎更糟糕.在ServiceDefinition中将DiagnosticStore大小设置为8Gb.不行.仍然疯狂,只有更高的数字.将OverallQuota设置为等于8Gb也无济于事.出于某种原因,在干净的图像上安装工作正常,但是当重新启动或更新时,它决定以不同方式计算配额.无论DiagnosticsStore的大小如何,"计算"值始终为OverallQuota + Log4Net LocalStorage.我所做的一切似乎都没有改变.非常令人沮丧,因为它似乎工作,只是在一段时间后死亡.

我也尝试过diagnostics.wadcfg,但无法让Azure接收它们.我确保将它们复制到根输出文件夹,并从我的代码中删除对监视器的任何更改.Nada,zip ...浏览了我在实例上可以找到的所有日志文件.在任何地方都没有一个提及或错误.

为什么Azure上这么难?跟踪日志是任何应用程序的最基本的日志记录工具.这实际上是在破坏Azure体验.

Igo*_*rek 2

我们在 Azure 中成功使用 log4net Quiet,但是我们将数据转储到 Azure 表存储中。这绝对是一个更具可扩展性的解决方案。我强烈建议您购买 Cerebrata(现为 RedGates)Storage Studio的许可证,以减轻处理 Azure 表存储的痛苦,并使用其诊断管理器来减轻查看跟踪日志的痛苦。