/// <summary> /// 添加日志 /// </summary> public override void AddLog(LogTraceNode node) { lock (m_guard) { m_LogList.Enqueue(node); } }
void writeTxt(string name) { FileMode mode = FileMode.Create; if (File.Exists(name)) { mode = FileMode.Append; } FileStream file = new FileStream(name, mode); m_Writer = new StreamWriter(file); m_Writer.Flush(); do { Thread.Sleep(1); // 如果list中有 要打印的东西 则 上锁 打印 lock (m_guard) { int nMsgCount = m_LogList.Count; if (nMsgCount > 0) { for (int j = 0; j < nMsgCount; j++) { // 每次处理30条,不能锁太久,避免跟主线程抢锁而让主线程等待时间太长 if (j >= 30) { break; } LogTraceNode node = m_LogList.Dequeue(); switch ((LogType)node.type) { case LogType.Log: m_Writer.Write(node.msg + "\r\n"); break; case LogType.Warning: m_Writer.Write(node.msg + "\r\n"); break; case LogType.Error: m_Writer.Write(node.msg + "\r\n"); break; } } m_Writer.Flush(); } } } while (m_bThreadContinue); //关闭流 m_Writer.Close(); //销毁流 m_Writer.Dispose(); }
void writeHtml() { FileStream file = new FileStream(string.Format("{0}//Log.html", m_szFilePath), FileMode.Create); m_Writer = new StreamWriter(file); //写入头信息 m_Writer.Write("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><title>Log</title></head><body>"); m_Writer.Flush(); do { Thread.Sleep(1); // 如果list中有 要打印的东西 则 上锁 打印 lock (m_guard) { int nMsgCount = m_LogList.Count; if (nMsgCount > 0) { for (int j = 0; j < nMsgCount; j++) { // 每次处理30条,不能锁太久,避免跟主线程抢锁而让主线程等待时间太长 if (j >= 30) { break; } LogTraceNode node = m_LogList.Dequeue(); switch ((LogType)node.type) { case LogType.Log: m_Writer.Write(string.Format("<div style=\"color:#0000FF\">{0}</div>", node.msg)); break; case LogType.Warning: m_Writer.Write(string.Format("<div style=\"color:#FF00FF\">{0}</div>", node.msg)); break; case LogType.Error: m_Writer.Write(string.Format("<div style=\"color:#FF0000\">{0}</div>", node.msg)); break; } } m_Writer.Flush(); } } } while (m_bThreadContinue); // 退出线程之前做收尾工作 m_Writer.Write("</body></html>"); //关闭流 m_Writer.Close(); //销毁流 m_Writer.Dispose(); }
/// <summary> /// 添加日志 /// </summary> public override void AddLog(LogTraceNode node) { // 有换行的,要把换行的劈成多段添加 string[] split = node.msg.Split(SPLIT); for (int i = 0; i < split.Length; i++) { LogTraceNode newNode; newNode.msg = split[i]; newNode.type = node.type; m_ShowList.Enqueue(newNode); } }
/// <summary> /// 添加日志 /// </summary> public override void AddLog(LogTraceNode node) { switch ((LogType)node.type) { case LogType.Log: Debug.Log(node.msg); break; case LogType.Warning: Debug.LogWarning(node.msg); break; case LogType.Error: Debug.LogError(node.msg); break; } }
/// <summary> /// 添加日志 /// </summary> public virtual void AddLog(LogTraceNode node) { }