Подтвердить что ты не робот

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

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

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

Есть ли возможности или обходные пути, чтобы избежать такого поведения?

4b9b3361

Ответ 1

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

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

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

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