【问题标题】:Azure Log Stream not LoggingAzure 日志流未记录
【发布时间】:2017-02-22 22:41:12
【问题描述】:

非常简单的问题,不确定如何解决。我已将 MVC .NET 应用程序部署到 Azure,并添加了以下控制器。

这是我的 Azure 诊断日志设置的样子:

为了更好的衡量,我的 web.config 的相关部分:

我的问题是日志没有被写入 Azure 提供的 FTP 驱动器中的 Log 流LogFiles 文件夹。我有另外两个非常相似的应用程序记录没有问题 - 但是这个拒绝记录。是否存在隐式停止记录的设置?

注意 - 我确定日志语句正在执行,因为一旦发布我就可以毫无问题地访问主页/索引页面。

【问题讨论】:

  • 您是否尝试将级别设置为详细?这有什么改变吗?另外,您是否查看过 Live Log Stream 以查看它们是否出现在那里?

标签: azure logging azure-web-app-service


【解决方案1】:

我相信您在这里缺少的是正在配置的实际侦听器。尝试将以下代码添加到您的web.config

<system.diagnostics>
     <trace>
       <listeners>
         <add name="WebPageTraceListener"
             type="System.Web.WebPageTraceListener,
             System.Web,
             Version=4.0.0.0,
             Culture=neutral,
             PublicKeyToken=b03f5f7f11d50a3a" />
       </listeners>
     </trace>
   </system.diagnostics>

&lt;trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" /&gt;

如果我没记错的话,默认跟踪侦听器不会以 Azure 可使用的方式记录数据。就我个人而言,我使用 Application Insights 来获取所有数据,但它仍然需要我显式传递一个侦听器。

【讨论】:

  • 这是正确的解决方案。我无法在 Nuget 上找到 WedPageTraceListener,我最终选择了 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener
【解决方案2】:

对于那些正在寻找使用 aspnet core 3.1 的解决方案的人,看看这个:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    相关资源
    最近更新 更多