发布:2020/10/30 15:07:25作者:管理员 来源:本站 浏览次数:962
日志例子:
private static Queue<string> m_Message = new Queue<string>();
private static bool m_IsRunning;
public void LogResult2(string sWord)
{
lock (m_Message)
{
//将日志加入到队列中
m_Message.Enqueue(sWord);
}
//判断打印日志的方法是否在跑
if (!m_IsRunning)
{
m_IsRunning = true;
System.Threading.ThreadPool.QueueUserWorkItem(delegate
{
Print();
});
}
}
//打印日志
private static void Print()
{
while (true)
{
var messge = string.Empty;
lock (m_Message)
{
//队列里的条数为0时,跳出
if (m_Message.Count == 0)
{
m_IsRunning = false;
return;
}
//取出队列里的值
messge = m_Message.Dequeue();
string filePath = AppDomain.CurrentDomain.BaseDirectory + DateTime.Now.ToString("yyyyMMdd") + ".txt";
FileStream fs = new FileStream(filePath, FileMode.Append);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
sw.Write(messge);
sw.Close();
fs.Close();
}
}
}
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4