Переключение TraceSwitch во время выполнения
Я пытаюсь получить доступ к некоторой диагностической информации, доступной в функции трассировки.NET System.Net в моем приложении.
Мне известно, что я могу установить уровень трассировки, используя соответствующий.config, но я надеялся, что смогу переключить переключатель программно. (т.е. включить трассировку во время выполнения определенных частей моей программы).
Есть ли способ для меня, чтобы переключить TraceSwitch/TraceSources, используемые функцией трассировки System.Net в коде?
Я знаю об этом ТАКом вопросе, но эта ситуация кажется другой, потому что основная проблема заключается в том, что рассматриваемая библиотека создает новый TraceSwitch для каждого вызова записи.
1 ответ
Если вы не возражаете запачкать руки, попробуйте использовать отражение, чтобы переключить приватный статический bool System.Net.Logging.s_LoggingEnabled (.NET 2).
Смотрите дальнейшие детали и альтернативы в этом вопросе.