首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.Net网站中的跟踪

ASP.Net网站中的跟踪
EN

Stack Overflow用户
提问于 2014-04-16 17:10:36
回答 1查看 459关注 0票数 0

我需要在asp.net网站上实现跟踪。我的要求是创建一个日志(文本)文件,并将错误写入该文件。到目前为止,我所做的是将以下设置添加到我的webconfig中。

代码语言:javascript
复制
  <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卸载事件,但没有写入我想要写入的信息(在我的情况下是异常)。

代码语言:javascript
复制
Dim _trace As New TraceSource("ServiceFaultInfoTrace", SourceLevels.Error)
_trace.TraceEvent(TraceEventType.Error, ex.Message)
EN

回答 1

Stack Overflow用户

发布于 2014-04-17 10:59:06

最后,伙计们,我让它工作了,也许它将来会对其他人有帮助。我的项目是一个简单的普通asp.net网站(不是网站项目),为了启用跟踪,我必须在webconfig中设置编译器,如下所示。

代码语言:javascript
复制
<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>

其他设置如下

代码语言:javascript
复制
 <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标签下放置以下内容

代码语言:javascript
复制
<trace enabled="true" mostRecent="true" writeToDiagnosticsTrace="true" pageOutput="false" />

并在n个aspx.vb页面后面的代码中放入以下内容

代码语言:javascript
复制
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()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23104866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档