Можно ли установить TraceSwitch программно, имитируя запись app.config?
Я использую сторонний инструмент, который внутренне добавляет сообщения трассировки, используя следующий код:
System.Diagnostics.Trace.WriteLineIf(
new System.Diagnostics.TraceSwitch("Switch", "").TraceInfo, message);
В этом случае кажется, что я должен добавить переключатель в мой файл app.config, чтобы отобразить сообщения трассировки:
<system.diagnostics>
<switches>
<add name="Switch" value="3" />
</switches>
</system.diagnostics>
Поскольку не всем моим пользователям предоставляются права администратора для внесения изменений в каталог Program Files, это становится проблемой.
Можно ли программно установить TraceSwitch и позволить стороннему инструменту писать сообщения трассировки?
1 ответ
Да, к первой части вопроса. Вероятно, нет во второй части, так как сторонний создает новый TraceSwtich при каждом вызове WriteLineIf. На мой взгляд, кажется, что сторонний элемент управления имеет неудачную реализацию, потому что 1) он должен позволять вам программно изменять "переключатель" через свойство, метод или функцию, и 2) он читает файл конфигурации при каждой трассировке. заявление.