【问题标题】:C# Add a footer to a trace listener when closedC# 关闭时向跟踪侦听器添加页脚
【发布时间】:2011-11-03 21:38:19
【问题描述】:

如何向 app.config 中定义的跟踪侦听器添加页脚:

<system.diagnostics>
<switches>
  <!-- Set loglevel for diagnostic messages
  (0=none, 1=errors, 2=warnings, 3=info, 4=verbose) -->
  <add name="logLevel" value="4" />
</switches>
<trace autoflush="true" indentsize="4">
  <listeners>
    <add name="FileListener"
         type="System.Diagnostics.TextWriterTraceListener"
         initializeData="Logs\QFXLog.txt" />
    <remove name="Default" />
  </listeners>
</trace>

当这个监听器关闭时,我想写一个结束页脚。 在配置中要定义哪些条目(如果有的话?)以及必须在代码中哪里定义页脚字符串?

谢谢, 于尔根

【问题讨论】:

    标签: c# tracelistener


    【解决方案1】:

    我不知道有什么方法可以直接在 app.config 文件中处理这个问题,但是你可以实现一个继承 TextWriterTraceListener 的类,然后覆盖它的 Close 方法:

    namespace MyNamespace
    {
        public class FormattedTextTracer : TextWriterTraceListener
        {
            public override void Close()
            {
                 // Write footer
                 Writer.WriteLine("==== Footer ====");
                 Writer.Flush();
                 base.Close();
            }
        }
    }
    

    并在 app.config 文件中,将监听器类型替换为您的类:

    <listeners>
        <add name="FileListener"
         type="MyNamespace.FormattedTextTracer, MyNamespace"
         initializeData="Logs\QFXLog.txt" />
        <remove name="Default" />
    </listeners>
    

    【讨论】:

      猜你喜欢
      • 2017-09-24
      • 1970-01-01
      • 2017-04-06
      • 2018-06-04
      • 1970-01-01
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      相关资源
      最近更新 更多