Esempio n. 1
0
 private void Add(LogData data)
 {
     if (m_isClosed)
     {
         return;
     }
     lock (outCacheList)
     {
         if (outCacheList.Count >= MaxCacheCount)
         {
             return;
         }
         outCacheList.Add(data);
     }
 }
Esempio n. 2
0
 private void Upate()
 {
     while (!m_isClosed)
     {
         //载入数据
         outCacheDic.Clear();
         lock (outCacheList)
         {
             foreach (LogData data in outCacheList)
             {
                 if (outCacheDic.ContainsKey(data.m_fileName))
                 {
                     outCacheDic[data.m_fileName].Add(data);
                 }
                 else
                 {
                     LogDataList list = new LogDataList();
                     list.Add(data);
                     outCacheDic.Add(data.m_fileName, list);
                 }
             }
             outCacheList.Clear();
         }
         if (outCacheDic.Count > 0)
         {
             DateTime time = DateTime.Now;
             foreach (var item in outCacheDic)
             {
                 string      fileName = item.Key;
                 LogDataList list     = item.Value;
                 string      path     = GetFilePath(time, fileName);
                 list.Write(path, time);
             }
         }
         System.Threading.Thread.Sleep(100);
     }
 }