我正在尝试使用System.Diagnostics.Trace
实现一个用于日志记录的类。我想控制什么时候我想写/刷新数据到文件(监听器)所以我想禁用AutoFlush = False
但是因为我使用静态类,我想知道我应该如何刷新所有剩余的数据,这样我就会当应用程序(持有Trace类)立即关闭时,不会丢失要写入文件的任何挂起日志。
请指教。
以下是我班级的片段。
namespace App
{
public class Trace
{
private Trace()
{
// prevent construction
}
Timer timer;
private timer_Elapsed()
{
// Flush all pending lines to log
System.Diagnostics.Trace.Flush()
}
static public void Initialize()
{
// Init
System.Diagnostics.Trace.Listeners.Add( Listener );
System.Diagnostics.Trace.AutoFlush = false;
}
static void Log(string str)
{
System.Diagnostics.Trace.WriteLine("str");
}
}
}