输出日志到txt示例

来源:互联网 发布:中国技术贸易数据 编辑:程序博客网 时间:2024/04/28 16:46

下面写个记录日志的代码表示不服——来自创智博客14年的代码

/// <summary>    /// 将日志输出到txt    /// </summary>    public partial class LogHelper    {        private static Queue<string> queue;        public static void WriteLog(string msg)        {            //对写文件加锁,防止多个线程同时写文件时报异常            //加锁问题:造成用户等待            //lock ("a")            //{            //    File.AppendAllText(@"C:\Users\q1\Desktop\a.txt", msg);            //}            //解决等待:向内存中写,而不是硬盘中写,先写先读            queue.Enqueue(msg);        }        static LogHelper()        {            queue = new Queue<string>();             WriteDisk();        }        //定义一个方法,将内存中的错误消息写到硬盘上        private static void WriteDisk()        {            Thread t=new Thread(() =>            {                while (true)                {                    if (queue.Count > 0)                    {                        string msg = queue.Dequeue();                        File.AppendAllText(@"C:\Users\q1\Desktop\a.txt", msg+"\r\n---------------------------------\r\n");                    }                    else                    {                        Thread.Sleep(5000);                    }                }            });            t.IsBackground = true;            t.Start();        }    }

0 0
原创粉丝点击