C # Добавить нижний колонтитул к слушателю трассировки, когда закрыт - PullRequest
2 голосов
/ 14 октября 2011

Как можно добавить нижний колонтитул к слушателю трассировки, который определен в 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>

Я хочу написать конечный нижний колонтитул, когда этот слушатель закрыт.Какие записи должны быть определены в конфигурации (если есть?) И где нужно определить строку нижнего колонтитула в коде?

Спасибо, Юрген

1 Ответ

6 голосов
/ 03 ноября 2011

Я не знаю способа обработать это непосредственно в файле 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>
...