Переключение TraceSwitch во время выполнения

Я пытаюсь получить доступ к некоторой диагностической информации, доступной в функции трассировки.NET System.Net в моем приложении.

Мне известно, что я могу установить уровень трассировки, используя соответствующий.config, но я надеялся, что смогу переключить переключатель программно. (т.е. включить трассировку во время выполнения определенных частей моей программы).

Есть ли способ для меня, чтобы переключить TraceSwitch/TraceSources, используемые функцией трассировки System.Net в коде?

Я знаю об этом ТАКом вопросе, но эта ситуация кажется другой, потому что основная проблема заключается в том, что рассматриваемая библиотека создает новый TraceSwitch для каждого вызова записи.

1 ответ

Если вы не возражаете запачкать руки, попробуйте использовать отражение, чтобы переключить приватный статический bool System.Net.Logging.s_LoggingEnabled (.NET 2).

Смотрите дальнейшие детали и альтернативы в этом вопросе.

Другие вопросы по тегам