7
我創建一個跟蹤偵聽這樣的:.NET - TextWriterTraceListener會,文件被另一個進程使用
// Setup log tracing.
Trace.Listeners.Add(new TextWriterTraceListener(MyLogPath));
Trace.AutoFlush = true;
Trace.WriteLine(DateTime.Now.ToString() + "-" + " Program started");
當我發現該文件已得到太大,我想截斷它(或相反,只有最後N行)。爲了做到這一點,我想讀取文件,但似乎沒有任何問題,我做跟蹤監聽器有一個鎖,即試圖刪除跟蹤監聽器,並像這樣處理其流:
// Clear logging.
Trace.Listeners[0].Close();
Trace.Listeners[0].Dispose();
Trace.Listeners.Clear();
,之前在閱讀這樣的:
// Read in existing log.
string[] lines = File.ReadAllLines(MyLogPath);
,給了我一個IO異常(文件正在由另一個進程使用)。
有什麼想法?
啊!是的,我在檢查收集後才發現這一點。這工作。 – Robinson 2011-05-25 17:16:43