static public void AddLog(string sContent, eLogType LogType) { if (string.IsNullOrEmpty(sContent)) return; t_Log mLog = new t_Log(); mLog.ID = "Log:" + DateTime.Now.Ticks; mLog.LogTime = DateTime.Now; mLog.sContent = sContent; mLog.sType = LogType.ToString(); bLog.Add(mLog); }
static public void AddLog(string sContent, eLogType LogType) { if (string.IsNullOrEmpty(sContent)) { return; } t_Log mLog = new t_Log(); mLog.ID = "Log:" + DateTime.Now.Ticks; mLog.LogTime = DateTime.Now; mLog.sContent = sContent; mLog.sType = LogType.ToString(); bLog.Add(mLog); }
/// <summary> /// Add /// </summary> /// <param name="str"></param> /// <param name="type"></param> public void Add(string str, eLogType type) { Monitor.Enter(@lock); try { if (m_config.UseConsole) { ConsoleColor old = Console.ForegroundColor; Console.ForegroundColor = m_config.ConsoleColors[(int)type]; Console.WriteLine($@"[{DateTime.Now.ToString()}] {str}"); Console.ForegroundColor = old; } if (m_config.UseFile) { if (!m_config.FilePath.IsExistsPath()) { Directory.CreateDirectory(m_config.FilePath); } var name = m_config.FilePath + DateTime.Now.ToString("yyyy-MM-dd"); var num = 0; while (FileHelper.GetLength(name + (num == 0 ? "" : $"-{num}") + ".log") > 100*1024*1024)//100k { num++; } name = name+( num == 0 ? "" : $"-{num}") +".log"; File.AppendAllText(name, $@"[{type.ToString()}] {DateTime.Now.ToString()} {str} "); } if(m_config.UseLogView) { var a = this.m_config.LogView; a.Select(a.TextLength, 1); //WTF!!!!!!! a.SelectionColor = m_config.LogViewColors[(int)type]; a.IsNewAdd = true; a.AppendLine($@"[{DateTime.Now.ToString()}] {str}"); } } catch (Exception e) { if (this.m_config.UseMessageBox) { WinForm.Notice(e.ToString()); } } finally { Monitor.Exit(@lock); } }
/// <summary> /// Execution of logging background thread /// </summary> public override void Flow() { while (true) { if (_inputMessageQ.Count != 0) { lock (_inputMessageQtoken) { try { LogMessage message = _inputMessageQ.Dequeue(); TryUpdateLog(_type, message); using (StreamWriter file = File.AppendText(String.Format("{0}.log", _type.ToString()))) { file.WriteLine("{0}\t{1}\t{2}", message.TimeStamp.ToString("HH:mm:ss.ffff"), message.CategoryAsString, message.Description); } } catch (Exception) { //It is only log, we don't want to fail the programm } } } } }