我需要在asp.net网站上实现跟踪。我的要求是创建一个日志(文本)文件,并将错误写入该文件。到目前为止,我所做的是将以下设置添加到我的webconfig中。
<system.diagnostics>
<sources>
<source name="ServiceFaultInfoTrace" switchName="sourceSwitch" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<add name="ServiceFaultInfoTraceText" />
<remove name="Default"/>
</listeners>
</source>
</sources>
<switches>
<add name="sourceSwitch" value="Error"/>
</switches>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="ServiceFaultInfoTraceText" />
</listeners>
</trace>
<sharedListeners>
<add name="ServiceFaultInfoTraceText" type="System.Diagnostics.TextWriterTraceListener" traceOutputOptions="DateTime" initializeData="C:\Temp\Api-Errors.txt" />
</sharedListeners>
</system.diagnostics>并尝试写入日志,如下所示。它正在创建日志文件,但写入所有页面lod卸载事件,但没有写入我想要写入的信息(在我的情况下是异常)。
Dim _trace As New TraceSource("ServiceFaultInfoTrace", SourceLevels.Error)
_trace.TraceEvent(TraceEventType.Error, ex.Message)发布于 2014-04-17 10:59:06
最后,伙计们,我让它工作了,也许它将来会对其他人有帮助。我的项目是一个简单的普通asp.net网站(不是网站项目),为了启用跟踪,我必须在webconfig中设置编译器,如下所示。
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp"
extension=".cs"
compilerOptions="/d:TRACE"
type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="0" />
<compiler language="VB"
extension=".vb"
compilerOptions="/d:Trace=true"
type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="0"/>
</compilers>
</system.codedom>其他设置如下
<system.diagnostics>
<sources>
<source name="myTraceSource" switchName="mySwitch" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<clear/>
<add name="evengloglistener" type="System.Diagnostics.EventLogTraceListener" initializeData="myApp"/>
<add name="delimitedListener" type="System.Diagnostics.DelimitedListTraceListener" delimiter="," initializeData="c:\Temp\outfile.csv.txt" traceOutputOptions="ProcessId, DateTime"/>
<add name="textwriterListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\Temp\outfile.txt" traceOutputOptions="ProcessId, DateTime"/>
</listeners>
</source>
</sources>
<switches>
<add name="mySwitch" value="1"/>
</switches>
</system.diagnostics>在system.web标签下放置以下内容
<trace enabled="true" mostRecent="true" writeToDiagnosticsTrace="true" pageOutput="false" />并在n个aspx.vb页面后面的代码中放入以下内容
Dim obj As New TraceSource("myTraceSource")
obj.TraceEvent(TraceEventType.Critical, 0, "This is a critical message")
obj.TraceEvent(TraceEventType.Warning, 0, "This is a simple warning message")
obj.TraceEvent(TraceEventType.[Error], 0, "This is a error message")
obj.TraceEvent(TraceEventType.Information, 0, "Simple information message")
obj.TraceEvent(TraceEventType.Verbose, 0, "Detail Verbose message")
obj.Close()https://stackoverflow.com/questions/23104866
复制相似问题