Ejemplo n.º 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, nameof(BookmarkPersistManager));
                    }
                }
            }
            else
            {
                try
                {
                    AnalogyJsonLogFile save = new AnalogyJsonLogFile();
                    save.Save(Messages, BookmarkFileName);
                }
                catch (Exception e)
                {
                    AnalogyLogManager.Instance.LogError("Error saving file: " + e, nameof(BookmarkPersistManager));
                    XtraMessageBox.Show(e.Message, @"Error Saving file", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Ejemplo n.º 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);
            }
        });
        public override Task SaveAsync(List <AnalogyLogMessage> messages, string fileName)

        => Task.Factory.StartNew(async() =>
        {
            if (fileName.EndsWith(".ajson", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyJsonLogFile logFile = new AnalogyJsonLogFile();
                await logFile.Save(messages, fileName);
            }
            else if (fileName.EndsWith(".abin", StringComparison.InvariantCultureIgnoreCase))
            {
                AnalogyMessagePackFormat logFile = new AnalogyMessagePackFormat();
                await logFile.Save(messages, fileName);
            }
        });
        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
            });
        }
        public async Task <List <AnalogyLogMessage> > GetMessages()
        {
            if (fileLoaded || !File.Exists(BookmarkFileName))
            {
                return(Messages);
            }
            //todo: which format;
            try
            {
                AnalogyJsonLogFile read = new AnalogyJsonLogFile();
                Messages   = (await read.ReadFromFile(BookmarkFileName, new CancellationToken(), null)).ToList();
                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);
        }