Файл трассировки TextWriterTraceListener слишком большой - PullRequest
8 голосов
/ 20 августа 2010

Я использую C # System.Diagnostics.TextWriterTraceListener для печати трассировки.Но файл трассировки становится слишком большим (сотни МБ).Я хочу изменить поведение TextWriterTraceListener, так что если файл трассировки становится большим, он записывает вывод в другой файл.Например, исходный файл трассировки - «output1.txt», если он становится больше 100 МБ, то TextWriterTraceListener должен записать в «output2.txt».

Сталкивались ли вы с подобными проблемами?Есть ли элегантные решения?

1 Ответ

5 голосов
/ 20 августа 2010

Два варианта, которые я могу придумать:

  1. Напишите свою собственную реализацию TextWriter, которая делает это, и присвойте свойству TextWriterTraceListener.Writer его экземпляр. Вот реализация sample , которая делает это, хотя она переносится не по размеру файла, а по времени (ежедневно)
  2. Переключитесь на log4net и используйте RollingFileAppender.
...