如果您需要继续创建日志文件,我可以建议使用 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 也有一个很酷的东西,叫做类别,它非常适合日志......
Trace.WriteLine("My message here", "INFO");
//Output:
//INFO: My message here
我发现的一件事是,在某些系统上,您无法打开文本文件,但您可以复制它以打开,原始文件将继续填充。