Example #1
0
 public void SaveFile()
 {
     if (!ContentChanged)
     {
         return;
     }
     if (!Messages.Any())
     {
         if (File.Exists(bookmarkFileName))
         {
             try
             {
                 File.Delete(bookmarkFileName);
             }
             catch (Exception e)
             {
                 AnalogyLogManager.Instance.LogError("Error deleting file: " + e);
             }
         }
     }
     else
     {
         try
         {
             AnalogyXmlLogFile save = new AnalogyXmlLogFile();
             save.Save(Messages, bookmarkFileName);
         }
         catch (Exception e)
         {
             AnalogyLogManager.Instance.LogError("Error saving file: " + e);
             MessageBox.Show(e.Message, @"Error Saving file", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
Example #2
0
        public async Task <IEnumerable <AnalogyLogMessage> > Process(string fileName, CancellationToken token, ILogMessageCreatedHandler messagesHandler)
        {
            if (fileName.EndsWith(".log", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyXmlLogFile logFile = new AnalogyXmlLogFile();
                var messages = await logFile.ReadFromFile(fileName, token, messagesHandler);

                return(messages);
            }
            if (fileName.EndsWith(".json", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyJsonLogFile logFile = new AnalogyJsonLogFile();
                var messages = await logFile.ReadFromFile(fileName, token, messagesHandler);

                return(messages);
            }
            else
            {
                AnalogyLogMessage m = new AnalogyLogMessage();
                m.Text      = $"Unsupported file: {fileName}. Skipping file";
                m.Level     = AnalogyLogLevel.Critical;
                m.Source    = "Analogy";
                m.Module    = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
                m.ProcessID = System.Diagnostics.Process.GetCurrentProcess().Id;
                m.Class     = AnalogyLogClass.General;
                m.User      = Environment.UserName;
                m.Date      = DateTime.Now;
                messagesHandler.AppendMessage(m, Environment.MachineName);
                return(new List <AnalogyLogMessage>()
                {
                    m
                });
            }
        }
        public Task SaveAsync(List <AnalogyLogMessage> messages, string fileName)

        => Task.Factory.StartNew(async() =>
        {
            if (fileName.EndsWith(".log", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyXmlLogFile logFile = new AnalogyXmlLogFile();
                await logFile.Save(messages, fileName);
            }
            if (fileName.EndsWith(".json", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyJsonLogFile logFile = new AnalogyJsonLogFile();
                await logFile.Save(messages, fileName);
            }
        });
Example #4
0
        public async Task Init()
        {
            if (File.Exists(FileName))
            {
                try
                {
                    AnalogyXmlLogFile read = new AnalogyXmlLogFile();
                    var old = await read.ReadFromFile(FileName);

                    this.messages.AddRange(old.Where(m => !ignoredMessages.Any(m.Text.Contains)));
                }
                catch (Exception e)
                {
                    LogError("Error loading file: " + e, nameof(AnalogyLogManager));
                }
            }
        }
        public override async Task <IEnumerable <AnalogyLogMessage> > Process(string fileName, CancellationToken token, ILogMessageCreatedHandler messagesHandler)
        {
            if (fileName.EndsWith(".axml", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyXmlLogFile logFile = new AnalogyXmlLogFile();
                var messages = await logFile.ReadFromFile(fileName, token, messagesHandler);

                return(messages);
            }
            if (fileName.EndsWith(".ajson", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyJsonLogFile logFile = new AnalogyJsonLogFile();
                var messages = await logFile.ReadFromFile(fileName, token, messagesHandler);

                return(messages);
            }
            if (fileName.EndsWith(".abin", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyMessagePackFormat logFile = new AnalogyMessagePackFormat();
                var messages = await logFile.ReadFromFile(fileName, token, messagesHandler);

                return(messages);
            }

            AnalogyLogMessage m = new AnalogyLogMessage
            {
                Text        = $"Unsupported file: {fileName}. Skipping file",
                Level       = AnalogyLogLevel.Critical,
                Source      = "Analogy",
                Module      = System.Diagnostics.Process.GetCurrentProcess().ProcessName,
                ProcessId   = System.Diagnostics.Process.GetCurrentProcess().Id,
                MachineName = Environment.MachineName,
                Class       = AnalogyLogClass.General,
                User        = Environment.UserName,
                Date        = DateTime.Now
            };

            messagesHandler.AppendMessage(m, Environment.MachineName);
            return(new List <AnalogyLogMessage>()
            {
                m
            });
        }
Example #6
0
        public async Task <List <AnalogyLogMessage> > GetMessages()
        {
            if (fileLoaded || !File.Exists(bookmarkFileName))
            {
                return(Messages);
            }
            //todo: which format;
            try
            {
                AnalogyXmlLogFile read = new AnalogyXmlLogFile();
                Messages = await read.ReadFromFile(bookmarkFileName);

                fileLoaded = true;
            }
            catch (Exception e)
            {
                XtraMessageBox.Show(e.Message, @"Error Saving file", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return(Messages);
        }
Example #7
0
        public void SaveFile()
        {
            if (!ContentChanged)
            {
                return;
            }
            if (!messages.Any())
            {
                if (File.Exists(FileName))
                {
                    try
                    {
                        File.Delete(FileName);
                    }
                    catch (Exception e)
                    {
                        LogError("Error deleting file: " + e, nameof(AnalogyLogManager));
                    }
                }
            }
            else
            {
                try
                {
                    AnalogyXmlLogFile save = new AnalogyXmlLogFile();
                    save.Save(GetFilteredMessages(), FileName);
                }
                catch (Exception e)
                {
                    LogError("Error saving file: " + e, nameof(AnalogyLogManager));
                    if (postfix < 3)
                    {
                        postfix++;
                        SaveFile();
                    }

                    //XtraMessageBox.Show(e.Message, @"Error Saving file", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        public async Task <List <AnalogyLogMessage> > GetMessages()
        {
            if (fileLoaded || !File.Exists(BookmarkFileName))
            {
                return(Messages);
            }
            //todo: which format;
            try
            {
                AnalogyXmlLogFile read = new AnalogyXmlLogFile();
                Messages = await read.ReadFromFile(BookmarkFileName);

                fileLoaded = true;
            }
            catch (Exception e)
            {
                AnalogyLogManager.Instance.LogError("Error reading file: " + e, nameof(BookmarkPersistManager));
                XtraMessageBox.Show(e.Message, @"Error reading file", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return(Messages);
        }