应用程序见解日志"没有服务器异常的数据"

时间:2016-10-18 02:04:48

标签: azure log4net azure-application-insights

我的测试服务器上有一个问题是抛出异常,我注意到它没有记录任何应用程序见解,所以首先尝试在我的本地计算机上进行调试。我设法复制了这个问题,并且在我的DEV应用程序见解中看到我记录了服务器异常。

enter image description here

所以我回到我的测试应用程序洞察并再次复制问题,但仍然没有记录错误(即使在一个小时左右)。

enter image description here

但是我可以看到它将它们记录为" Failed Requests",而不是服务器异常。没有服务器异常,我无法看到堆栈跟踪/错误消息。

enter image description here

我正在使用Log4Net app insights扩展来记录这些异常。它显然不是代码问题,因为在这两种情况下都运行相同的代码。所以我查看了配置问题。

  • 我的log4net.config和applicationinsights.config没有从Dev到Test(或者prod)的转换。他们保持不变。

  • 我的Web.config只有一个转换来删除debug = true作为标准。

  • 我在Azure中设置了一些环境属性(使用Azure网站),但实际应用程序更改中唯一的一个是AppInsightsInstrumentation键,用于将其切换到不同的AppInsights。但是我知道这个键是正确的,因为我记录了一些东西,而不是其他东西。

1 个答案:

答案 0 :(得分:0)

这是答案(Kinda)

我在Basecontroller中记录异常,这在我的本地机器上工作正常,我可以通过调试。

但是当我远程推送时会发生什么,.net开箱即用的错误处理开始了。特别是全局的“HandleErrorAttribute”(检查你的FilterConfig.cs)。这似乎捕获并吞噬了异常。如果您希望覆盖此行为,还有很多其他的讨论,主要是在讨论其他日志工具(如Elmah)时。

我在测试环境中只看到这个的原因是因为CustomErrors默认为remoteOnly。所以我只看到它没有记录,因为它不在我的机器上。

因为我自己处理错误,所以我可以从我的FilterConfig.cs中删除这一行

filters.Add(new HandleErrorAttribute());

现在应该记录服务器异常(我现在还处理在我的BaseController中向用户显示一个很好的错误页面)