Ejemplo n.º 1
0
        private void ReadLog(string fileName, string groupName)
        {
            var logFileModel = LogFileHelper.ParseLogFile(fileName, groupName);
            var readFromTime = Program.ReadFromTimes.FirstOrDefault((KeyValuePair <string, DateTime> group) => group.Key == groupName).Value;

            logFileModel.LogLines = logFileModel.LogLines.Where(w => w.LogDateTime > readFromTime).ToList();

            if (logFileModel.LogLines.Count() > 0)
            {
                Program.ReadFromTimes.Remove(groupName);
                Program.ReadFromTimes.Add(groupName, logFileModel.LogLines.LastOrDefault().LogDateTime);
                ClearCurrentConsoleLine();
                OutputToConsole(logFileModel.LogLines);
                var loggingToon = Program.GetLoggingToon(logFileModel.Logger);
                var request     = new LogDataModel()
                {
                    LoggerName    = loggingToon.Name,
                    CorporationId = loggingToon.CorporationId,
                    AllianceId    = loggingToon.AllianceId,
                    LogLines      = logFileModel.LogLines,
                    Group         = groupName
                };
                Poll(request);
                Console.WriteLine(string.Empty);
            }
        }
Ejemplo n.º 2
0
        public static void GetLogFileNames(List <SSO.IntelMap.Models.GroupChannelName> data)
        {
            var catcher = new List <SSO.IntelMap.Models.GroupChannelName>();
            var dInfo   = new DirectoryInfo(Path);

            data.ForEach(group =>
            {
                group.Channels.ForEach(channel =>
                {
                    var fileInfo = dInfo.EnumerateFiles(string.Concat(channel, "*"))
                                   .OrderByDescending(o => o.LastWriteTimeUtc).FirstOrDefault();

                    if (fileInfo != null)
                    {
                        var flag1 = false;

                        Console.WriteLine("Listening to channel " + channel);
                        catcher.Add(group);
                        LogFileModel model = LogFileHelper.ParseLogFile(fileInfo.FullName, group.Group);
                        DateTime createdAt = model.CreatedAt;

                        if (model.LogLines.Count > 0)
                        {
                            createdAt = Enumerable.Last <LogLine>(model.LogLines).LogDateTime;
                        }
                        if (!ReadFromTimes.ContainsKey(group.Group))
                        {
                            flag1 = false;
                        }
                        else
                        {
                            flag1 = ReadFromTimes.FirstOrDefault().Value < createdAt;
                        }
                        if (flag1)
                        {
                            ReadFromTimes.Remove(group.Group);
                        }
                        if (!ReadFromTimes.ContainsKey(group.Group))
                        {
                            ReadFromTimes.Add(group.Group, createdAt);
                        }
                    }
                });
            });

            catcher = catcher.Distinct().ToList();
            catcher.ForEach(group => {
                HubProxy.Invoke("joinGroup", group.Group);
            });
            Console.WriteLine();
            LogFileNames = catcher;
        }