예제 #1
0
파일: LogManager.cs 프로젝트: Adel-dz/Hub
        public IEnumerable <IEventLog> EnumerateClientLog(uint clID)
        {
            Dbg.Assert(IsLoggerStarted(clID));

            lock (m_clientsloggers)
            {
                ClientEventLogger logger = m_clientsloggers.Find(l => l.ClientID == clID);
                return(logger?.Logs);
            }
        }
예제 #2
0
파일: LogManager.cs 프로젝트: Adel-dz/Hub
 public void StartLogger(uint clID)
 {
     lock (m_clientsloggers)
     {
         if (m_clientsloggers.Find(l => l.ClientID == clID) == null)
         {
             var logger = new ClientEventLogger(clID);
             m_clientsloggers.Add(logger);
         }
     }
 }
예제 #3
0
파일: LogManager.cs 프로젝트: Adel-dz/Hub
        public void CloseLogger(uint clID)
        {
            lock (m_clientsloggers)
            {
                ClientEventLogger logger = m_clientsloggers.Find(l => l.ClientID == clID);

                if (logger != null)
                {
                    m_clientsloggers.Remove(logger);
                    logger.Dispose();
                }
            }
        }
예제 #4
0
파일: LogManager.cs 프로젝트: Adel-dz/Hub
        public void LogClientError(uint clID, string txt, DateTime tm)
        {
            Dbg.Assert(IsLoggerStarted(clID) == true);

            lock (m_clientsloggers)
            {
                ClientEventLogger logger = m_clientsloggers.Find(l => l.ClientID == clID);

                IEventLog log = logger?.LogEvent(txt, tm, EventType_t.Error);

                if (log != null)
                {
                    ClientLogAdded?.Invoke(clID, log);
                }
            }
        }