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

然后,我向Razor页面添加了一些跟踪语句来测试它
@{
System.Diagnostics.Trace.TraceInformation("INFORMATION");
System.Diagnostics.Trace.TraceWarning("WARNING");
System.Diagnostics.Trace.TraceError("ERROR");
}但是,无论是在文件系统中还是在blob中,这都会导致根本没有日志。为了达到更好的效果,我尝试将各种设置添加到我的web.config文件中(如下所示),尽管我从文献资料上读到,这似乎并不是必要的。但是这并没有什么区别--我仍然没有在文件系统或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网页项目吗?
发布于 2015-01-27 00:27:22
要从剃须刀页面启用跟踪,请在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进行任何更改。
https://stackoverflow.com/questions/28157442
复制相似问题