Ejemplo n.º 1
0
        public void AnalisLogLines(string[] logLines, string filename)
        {
            _pluginLog = null;
            _lastLogIsPlugin = false;
            _logEntry = null;
            _username = filename;

            foreach (var line in logLines)
            {
                analisLine(line);
            }
        }
Ejemplo n.º 2
0
 private void analisLine(string line)
 {
     if (lineIsLog(line))
     {
         // проверка даты лога (сравнение с последней датой сбора логов)
         if (checkLogDate(line))
         {
             string msgLine = getLineMsg(line);
             if (msgLine.StartsWith("Plugin "))
             {
                 msgLine = msgLine.Substring(7);
                 string pluginName;
                 try
                 {
                     pluginName = msgLine.Substring(0, msgLine.IndexOf(' '));
                     msgLine = msgLine.Substring(pluginName.Length + 1);
                 }
                 catch
                 {
                     pluginName = msgLine;
                 }
                 if (!_pluginsLog.TryGetValue(pluginName, out _pluginLog))
                 {
                     _pluginLog = new PluginLog(pluginName);
                     _pluginsLog.Add(_pluginLog.PluginName, _pluginLog);
                 }
                 if (!_pluginLog.Logs.TryGetValue(_username, out _logEntry))
                 {
                     _logEntry = new LogEntry(_username);
                     _pluginLog.Logs.Add(_username, _logEntry);
                 }
                 _logEntry.Logs += string.Format("\n{0}", line);
                 _lastLogIsPlugin = true;
             }
             else
             {
                 _lastLogIsPlugin = false;
                 // Проверка новых пользователей
                 NewUser.NewUserService.CheckNewUser(msgLine, _username.Substring(0, _username.IndexOf("-")));
             }
         }
     }
     else
     {
         if (_lastLogIsPlugin)
         {
             _logEntry.Logs += string.Format("\n{0}", line);
         }
     }
 }