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