如果需要繼續創建日誌文件,可以建議使用Trace嗎?你可以像這樣附加一個「偵聽器」到Trace中。
Trace.Listeners.Add(new TextWriterTraceListener("myfilename.txt"));
當然,如果你傳遞一個文件名,它不會自動刷新,並沒有什麼會在文件中,直到它關閉或緩衝區已滿。所以你可以在程序開始時創建流。
而不是打開和關閉文件的每個
FileInfo fi = new FileInfo("myLogFile.txt");
StreamWriter _sw;
void Main()
{
_sw = fi.CreateText();
_sw.AutoFlush = true;
Trace.Listeners.Add(new TextWriterTraceListener(sw));
}
void Close()
{
if(_sw != null)
{
_sw.Flush();
_sw.Dispose();
}
}
在你的程序
然後,寫一個「日誌」,你可以,而不是僅僅做到這一點。
Trace.WriteLine("My message here");
跟蹤有一個名爲類別太一件很酷的事情,這是偉大的日誌...
Trace.WriteLine("My message here", "INFO");
//Output:
//INFO: My message here
一件事,我發現的是,在某些系統上,你不能打開文本文件,但你可以打開它的副本,並且原始文件將繼續填充。
不要關閉它。 –
是的......拿走Writer.Close() – Derek
我知道這是多餘的,但我總是教會把Close作爲一個附加的故障保險。也許它不被推薦,但它也與我的問題無關。 – jmease