public void AnalisLogLines(string[] logLines, string filename) { _pluginLog = null; _lastLogIsPlugin = false; _logEntry = null; _username = filename; foreach (var line in logLines) { analisLine(line); } }
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); } } }