У меня одновременно запущено несколько процессов, и я хочу войти в один и тот же файл.
Мы использовали Enterprise Library 4.1 Logging Application Block (с RollingFlatFileTraceListener
), и он отлично работает, за исключением того, что он добавляет GUID к имени файла журнала, когда два процесса пытаются записать в файл журнала в то же время (причудой System.Diagnostics.TextWriterTraceListener
я считаю).
Я пробовал разные вещи, включая вызов Logger.Writer.Dispose()
после записи в файл журнала, но не идеально делать блокирующий вызов каждый раз, когда пишется запись в журнале.
Форумы EntLib предлагают использовать MSMQ со службой распространителя, но это не вариант, поскольку MSMQ не разрешен в моей компании.
Есть ли другой способ, с помощью которого я могу быстро и легко войти из нескольких потоков / процессов в один и тот же файл?