2010-08-20 17 views
8

Sto usando C# System.Diagnostics.TextWriterTraceListener per stampare traccia. Ma il file di traccia diventa troppo grande (centinaia di MB). Voglio modificare il comportamento di TextWriterTraceListener, che se il file di traccia diventa grande, scrive l'output su un altro file. Ad esempio, il file di traccia originale è 'output1.txt', se diventa più grande di 100 MB, quindi TextWriterTraceListener dovrebbe scrivere su 'output2.txt'.TextWriterTraceListener Traccia file troppo grande

Hai riscontrato problemi simili? Ci sono soluzioni eleganti?

risposta

5

due opzioni che posso pensare:

  1. Scrivi la tua TextWriter implementazione che fa questo, e impostare la proprietà TextWriterTraceListener.Writer a un'istanza di esso. Ecco un'implementazione sample che esegue questa operazione, anche se viene eseguita su base temporale (giornaliera) anziché su base file-size.
  2. Passare a log4net e utilizzare RollingFileAppender.
+0

1 - log4net risolverà questo problema e ha altre caratteristiche per offrire come condizionale registrazione – Tahbaza

+0

pagina di esempio legato alla risposta non esiste più, collegamento archiviato è https://web.archive.org/web/20040628122447/ http://weblogs.asp.net/DaveBost/archive/2004/04/30/124224.aspx – tjleigh