asp.net - 跟踪源 : Custom TraceListener not working

标签 asp.net debugging system.diagnostics tracesource

我正在使用 TraceSource 记录 ASP.Net 应用程序。 要更改输出格式,我需要创建自己的 TraceListener 而不是 TextwriterListener。

   <trace>
        <listeners>
            <remove name="Default" />
             <add name="Default"
             type="WebTracing.CustomTraceListener, WebTracing" initializeData="Weblog.txt" traceOutputOptions="None"/>
        </listeners>
    </trace>

 public class CustomTraceListener : TextWriterTraceListener
 {
    public override void Write(string message)
    {
        if (NeedIndent)
        {
            WriteIndent();
        }
        message = //customize format
        base.Write(message); 
    }

    public override void WriteLine(string message)
    {
        if (NeedIndent)
        {
            WriteIndent();
        }
        message = //customize format
        base.WriteLine(message);
        NeedIndent = true;
    }
 }

//调用

        CustomTraceListener obj = new CustomTraceListener();
        obj.TraceEvent(null, "This is a critical message", TraceEventType.Critical, 0);
        (or)
         obj.Write( "This is a critical message");
        obj.Close();

没有错误。输出文件中没有打印数据。 我是 ASP.Net 的新手,谁能帮我解决这个问题。

更新


我尝试了另一种方式。但会导致配置错误。

<trace autoflush="true" />
<sources>
  <source name="Trace" switchName="mySwitch" switchType="System.Diagnostics.SourceSwitch">    
      <listeners>
        <remove name="Default" />
        <add name="Default"
             type="WebTracing.CustomTraceListener, WebTracing" initializeData="Weblog.txt" traceOutputOptions="None"/>
      </listeners>      
  </source>
</sources>
<switches>
  <add name="mySwitch" value="All"/>
</switches>


        TraceSource obj = new TraceSource("Trace");
        obj.TraceEvent(TraceEventType.Critical,0,"This is a critical message");
        obj.Close();

异常详细信息:System.Configuration.ConfigurationErrorsException:无法创建 WebTracing.CustomTraceListener、WebTracing。

注意:普通 TextWriterListener 工作正常。但我需要自定义监听器来格式化输出字符串。

最佳答案

我建议你给你的类添加 public 修饰符

你可以使用

System.Diagnostics.Trace.Write method

关于asp.net - 跟踪源 : Custom TraceListener not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502068/

相关文章:

c# - 使用 "Linq Methods"处理 DateTime

ASP.NET:如何在调用 Page_ClientValidate 后进行 "reset"验证

javascript - 调试/查找 RequireJS 加载的脚本

c# - 从 C# 执行大型批处理文件时遇到问题

c# - 如何在选择另一个@Html.DropDownList 后填充@Html.DropDownList

c# - 如何从按钮中删除禁用属性?

python - Android.mk 调试输出

ios - 无法进入 Xcode 4.2/iOS 5.0 库中的特定函数

c# - 如何从 Process.Start 中抛出 FileNotFoundException

.net - Process.Start 一个没有扩展名的文件