启用Azure网站应用程序诊断

时间:2015-01-26 19:37:16

标签: azure-web-sites asp.net-webpages azure-diagnostics

我有一个Windows Azure网站(使用ASP.NET网页构建),并且在配置中为Blob存储和文件存储启用了“应用程序诊断”:

App Diagnostics

然后我在Razor页面中添加了一些Trace语句来测试它

@{
    System.Diagnostics.Trace.TraceInformation("INFORMATION");
    System.Diagnostics.Trace.TraceWarning("WARNING");
    System.Diagnostics.Trace.TraceError("ERROR");
}

但是,这会导致文件系统或blob中根本没有日志。 为了更好地衡量,我尝试将各种设置添加到我的web.config文件中(如下所示),尽管我从the documentation读到,但这似乎不是必要的。但它没有任何区别 - 我仍然看不到文件系统或blob中的诊断日志。

  <system.web>
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
    </compilation>
    <trace enabled="true"/>
    <httpRuntime targetFramework="4.5" />
  </system.web>
  <system.diagnostics>
    <trace>
      <listeners>
        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
     name="AzureDiagnostics">
        </add>
        <add name="WebPageTraceListener"
             type="System.Web.WebPageTraceListener, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </listeners>
    </trace>
  </system.diagnostics>

我还有什么需要配置我错过的吗?难道这对于ASP.NET网页项目根本不起作用吗?

1 个答案:

答案 0 :(得分:4)

要从剃须刀页面启用跟踪,请将以下内容添加到您的web.config: <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" compilerOptions="/define:TRACE" warningLevel="1" /> </compilers> </system.codedom>

来源:http://blogs.msdn.com/b/webdev/archive/2013/07/16/tracing-in-asp-net-mvc-razor-views.aspx

  

请注意,从cs文件进行跟踪应该无需对web.config进行任何更改。