启用 Azure 网站应用程序诊断
Enable Azure Website Application Diagnostics
我有一个 Windows Azure 网站(使用 ASP.NET 网页构建),并且在配置中为 Blob 存储和文件存储启用了 "Application Diagnostics":
然后我将一些 Trace 语句添加到 Razor 页面以对其进行测试
@{
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 网页项目根本不起作用?
要从 razor 页面启用跟踪,请将以下内容添加到您的 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
Note that tracing from your cs files should work without any changes to web.config.
我有一个 Windows Azure 网站(使用 ASP.NET 网页构建),并且在配置中为 Blob 存储和文件存储启用了 "Application Diagnostics":
然后我将一些 Trace 语句添加到 Razor 页面以对其进行测试
@{
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 网页项目根本不起作用?
要从 razor 页面启用跟踪,请将以下内容添加到您的 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
Note that tracing from your cs files should work without any changes to web.config.