TextWriterTraceListener и имена файлов трассировки с GUID

Я использую TextWriterTraceListener (Система. Диагностика) в моем приложении для трассировки нескольких вещей как исключения...

Приложение работает на терминальном сервере и если существуют многие пользователи, использующие его одновременно, слушатель начинает создавать много файлов трассировки со случайными GUID в имени файла.

Там возможности или обходные решения состоят в том, чтобы избежать этого поведения?

16
задан Mark Seemann 26 February 2010 в 11:45
поделиться

1 ответ

Я только что просмотрел документацию для TextWriterTraceListener , и там есть примечание примерно на 1/3 вниз по странице

Если предпринимается попытка записи в файл, который используется или недоступен, к имени файла автоматически добавляется префикс GUID

Так что, похоже, это сделано намеренно. Если файл действительно недоступен, то в текущей реализации с этим ничего нельзя поделать. Что вы могли бы попробовать сделать, так это написать собственную реализацию TextWriterTraceListener, которая переопределяет соответствующие методы Write / WriteLine, чтобы выходные данные отправлялись в файл для каждого пользователя с именем, которое лучше соответствует вашим потребностям.

Если вы хотите, чтобы ВСЕ журналы от ВСЕХ пользователей на сервере терминалов шли в один файл, то вам почти наверняка понадобится какой-то «сторонний» процесс, который «владеет» файлом и синхронизирует запись в него, например, служба Windows, которая затем вызывается вашим настраиваемым TextWriterTraceListener

15
ответ дан 30 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: