Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 /// <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();
 }