Вопрос

При написании пользовательского TraceListener как я могу заставить заголовок записи, данные/сообщение и нижний колонтитул записи быть одной дискретной записью?В частности, рассматриваемые пользовательские прослушиватели трассировки записывают в источник, не основанный на файлах, например базу данных или поток событий.Мне нужно либо игнорировать базовые методы writeHeader, writefooter в TraceListener, либо каким-то образом упаковать их в одно событие записи.

Это было полезно?

Решение

Вот хорошая статья о том, как на заказ TraceListenerЭто работа, которая также объясняет, когда и почему WriteHeader и WriteFooter называются.Хитрость, позволяющая избежать WriteHeader и WriteFooter очевидно, заключается в том, чтобы переопределить Трассированные данные и/или Трассевент звонки.

Также есть обсуждение этого вопроса в эта ТАК-тема.

Наконец, я бы посоветовал вам взглянуть на Укадц.Диагностика это довольно крутая библиотека для расширения System.Diagnostics и предоставляет, среди прочего, хороший способ добиться форматирования вывода, подобного log4net/NLog.Есть небольшое обсуждение этой библиотеки в эта ТАК-тема.

Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top