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); } } }
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 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 }); }
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); }
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); }