乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      C#日志類

       行者花雕 2021-04-18
      public static class LogHelper
          {
              private static readonly Queue<Dictionary<string, string>> Que = new Queue<Dictionary<string, string>>();
              private static readonly Object Object = new Object();
              private static EnumLogLevel LogType { get; set; }
      
              static LogHelper()
              {
                  ThreadPool.QueueUserWorkItem(s =>
                  {
                      while (true)
                      {
                          if (Que.Count <= 0)
                          {
                              Thread.Sleep(5000);
                              continue;
                          }
                          lock (Object)
                          {
                              if (Que.Count <= 0)
                              {
                                  Thread.Sleep(5000);
                                  continue;
                              }
                              var currentDirectory = AppDomain.CurrentDomain.BaseDirectory;
                              var path = string.Format("{0}Logs\\", currentDirectory);
                              if (!Directory.Exists(path)) { Directory.CreateDirectory(path); }
                              var fileName = Path.Combine(path, DateTime.Now.ToString("yyyy-MM-dd") + ".log");
                              using (var fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
                              {
                                  using (var sw = new StreamWriter(fs))
                                  {
                                      sw.BaseStream.Seek(0, SeekOrigin.End);
                                      var col = Que.Dequeue();
                                      foreach (KeyValuePair<string, string> m in col)
                                      {
                                          sw.WriteLine(m.Key + ":{0}", m.Value);
                                      }
                                      sw.Flush(); sw.Dispose(); sw.Close();
                                  }
                              }
                          }
                      }
                  });
              }
              public static string WriteLog(this string str, EnumLogLevel type = EnumLogLevel.Info)
              {
                  var logLevel = ConfigurationManager.AppSettings["LogLevel"];
                  var level = string.IsNullOrWhiteSpace(logLevel) ? EnumLogLevel.Info.ToString() : logLevel;
      
                  if ((int)type < (int)Enum.Parse(typeof(EnumLogLevel), level))
                  {
                      return string.Empty;
                  }
                  lock (Object)
                  {
                      LogType = type;
                      var st = new StackTrace(new StackFrame(1, true));
                      StackFrame sf = st.GetFrame(0);
                      var dic = new Dictionary<string, string>
                      {
                          {"發(fā)生時間", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ffff dddd")},
                          {"日志級別", LogType.ToString()},
                          {"日志消息", str},
                          {"當前方法", sf.GetMethod().Name},
                          {"發(fā)生位置", st.ToString()}
                      };
                      Que.Enqueue(dic);
                  }
                  return str;
              }
          }
      
          /// <summary>
          /// All: 表示最低的日志等級。
          /// Debug: 這個等級表示用于調試程序的正常的事件信息;
          /// Info: 默認的等級
          /// Warn: 表示可能對系統(tǒng)有損害的情況;
          /// Error: 表示較嚴重的錯誤等級,但是程序可以繼續(xù)運行的信息;
          /// Fatal: 表示非常嚴重的錯誤等級,記錄極有可能導致應用程序終止運行的致命錯誤信息;
          /// Off: 表示最高的等級,如果一個logger的等級標記為Off, 將不會記錄任何信息;
          /// </summary>
          public enum EnumLogLevel
          {
              All,
              Debug,
              Info,
              Warn,
              Error,
              Fatal,
              Off
          }
      

       

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多