实现用于日志记录的静态Trace类

时间:2014-12-10 07:18:35

标签: c# logging trace

我正在尝试使用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");
        }
    }
}

0 个答案:

没有答案