Я использую TextWriterTraceListener (Система. Диагностика) в моем приложении для трассировки нескольких вещей как исключения...
Приложение работает на терминальном сервере и если существуют многие пользователи, использующие его одновременно, слушатель начинает создавать много файлов трассировки со случайными GUID в имени файла.
Там возможности или обходные решения состоят в том, чтобы избежать этого поведения?
Я только что просмотрел документацию для TextWriterTraceListener , и там есть примечание примерно на 1/3 вниз по странице
Если предпринимается попытка записи в файл, который используется или недоступен, к имени файла автоматически добавляется префикс GUID
Так что, похоже, это сделано намеренно. Если файл действительно недоступен, то в текущей реализации с этим ничего нельзя поделать. Что вы могли бы попробовать сделать, так это написать собственную реализацию TextWriterTraceListener, которая переопределяет соответствующие методы Write / WriteLine, чтобы выходные данные отправлялись в файл для каждого пользователя с именем, которое лучше соответствует вашим потребностям.
Если вы хотите, чтобы ВСЕ журналы от ВСЕХ пользователей на сервере терминалов шли в один файл, то вам почти наверняка понадобится какой-то «сторонний» процесс, который «владеет» файлом и синхронизирует запись в него, например, служба Windows, которая затем вызывается вашим настраиваемым TextWriterTraceListener