//TODO: If spinLoad or spinSave fails, better behaviour could be implemented public bool write(EventLogger.logEntry writeString) { XmlDocument docConfig = new XmlDocument(); if (!spinLoad(docConfig)) { Console.WriteLine("Log locked for 2 seconds"); return(false); } XmlNode root = docConfig.SelectSingleNode("/log"); XmlElement newEntry = docConfig.CreateElement("Entry"); newEntry.SetAttribute("Date_And_Time", writeString.dt.ToString()); newEntry.InnerText = writeString.logText; root.AppendChild(newEntry); if (!spinSave(docConfig)) { Console.WriteLine("Log locked for 2 seconds"); return(false); } return(true); }
public List <EventLogger.logEntry> read() { List <EventLogger.logEntry> entries = new List <EventLogger.logEntry>(); if (!File.Exists(logPath + FILE_ENDING)) { return(entries); } XmlDocument docConfig = new XmlDocument(); docConfig.Load(logPath + FILE_ENDING); XmlNode root = docConfig.SelectSingleNode("/log"); foreach (XmlNode entry in root.ChildNodes) { EventLogger.logEntry lEntry = new EventLogger.logEntry(); lEntry.dt = DateTime.Parse(entry.Attributes[0].Value); lEntry.logText = entry.Value; entries.Add(lEntry); } return(entries); }
public void doWork() { EventLogger.logEntry dequeued = new EventLogger.logEntry(); while (eventQueue.Count() > 0) { eventQueue.TryDequeue(out dequeued); format.write(dequeued); } }
public EventLogger.logEntry readSpecifiedEntry(int nr) { XmlDocument docConfig = new XmlDocument(); docConfig.Load(logPath + FILE_ENDING); XmlNode root = docConfig.SelectSingleNode("/log"); //if(root.ChildNodes.Count < nr - 1) //{ // return null; //} XmlNode lookedFor = root.ChildNodes[nr - 1]; EventLogger.logEntry entry = new EventLogger.logEntry(); entry.dt = DateTime.Parse(lookedFor.Attributes[0].Value); entry.logText = lookedFor.Value; return(entry); }