2010-08-20 42 views
8

我正在使用C#System.Diagnostics.TextWriterTraceListener來打印跟蹤。但是跟蹤文件變得太大(數百MB)。 我想更改TextWriterTraceListener的行爲,即如果跟蹤文件變大,它會將輸出寫入另一個文件。 例如,原始跟蹤文件是'output1.txt',如果它大於100MB,則TextWriterTraceListener應該寫入'output2.txt'。TextWriterTraceListener跟蹤文件太大

您是否遇到過類似問題?有沒有優雅的解決方案?

回答

5

兩個選項,我能想到的:

  1. 寫自己TextWriter實現,這是否和TextWriterTraceListener.Writer屬性設置爲它的一個實例。這是一個sample的實現,雖然它在時間(日常)的基礎上進行翻轉,而不是基於文件大小。
  2. 切換到log4net並使用RollingFileAppender
+0

+1 - log4net的將解決這個問題,但有其他功能,提供像在回答鏈接到有條件的記錄 – Tahbaza 2010-08-20 03:22:07

+0

示例頁面已不存在,存檔鏈接https://web.archive.org/web/20040628122447/ http://weblogs.asp.net/DaveBost/archive/2004/04/30/124224.aspx – tjleigh 2017-03-17 11:28:39