#c# #tracelistener
#c# #tracelistener
Вопрос:
Как можно добавить нижний колонтитул в прослушиватель трассировки, который определен в 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="LogsQFXLog.txt" />
<remove name="Default" />
</listeners>
</trace>
Я хочу написать конечный нижний колонтитул, когда этот прослушиватель закрыт.
Какие записи должны быть определены в конфигурации (если есть?) и где нужно определить строку нижнего колонтитула в коде?
Спасибо, Юрген
Ответ №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="LogsQFXLog.txt" />
<remove name="Default" />
</listeners>