public void Write(FlashLogMessage msg) { var level = msg.Level.ToString(); //switch (msg.Level) //{ // case FlashLogLevel.Debug: // level = "Debug"; // break; // case FlashLogLevel.Info: // _log.Info(msg.Message, msg.Service, msg.Exception); // break; // case FlashLogLevel.Error: // _log.Error(msg.Message, msg.Service, msg.Exception); // break; // case FlashLogLevel.Warn: // _log.Warn(msg.Message, msg.Service, msg.Exception); // break; // case FlashLogLevel.Fatal: // _log.Fatal(msg.Message, msg.Service, msg.Exception); // break; //} var path = logPathRoot; if (!string.IsNullOrWhiteSpace(msg.Service)) { path += $"\\{msg.Service}"; } path += $"\\{level}"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string LogDate = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString(); string logFilePath = GetPath(path, LogDate, 0); if (msg.Message.Length <= 1024 * 100) //100k { WriteType1(logFilePath, msg.Message + Environment.NewLine); } else { WriteType1(logFilePath, msg.Message); } }
/// <summary> /// 日志入队 /// </summary> /// <param name="message">日志文本</param> /// <param name="level">等级</param> /// <param name="ex">Exception</param> public void EnqueueMessage(FlashLogMessage flashLogMessage) { _que.Enqueue(flashLogMessage); // 通知线程往磁盘中写日志 _mre.Set(); }