private void SetWatchers(string settings) { LogFiles lf = LogFiles.Load(settings); if (lf == null) { return; } _watchers.ForEach(x => { x.LogChanged -= new TextLogHandler(fw_LogChanged); x.Dispose(); }); _watchers.Clear(); foreach (LogFile f in lf.Files) { FileWatcher fw = new FileWatcher(); fw.Config(f.Folder, f.FileTemplate, f.MessageTemplate, f.NagiosServiceName, f.MessageLevel); fw.LogChanged += new TextLogHandler(fw_LogChanged); fw.Start(); _watchers.Add(fw); } }
protected static LogFiles Deserialize(string data) { LogFiles o = null; MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(data)); try { DataContractJsonSerializer ser = GetSerializer(); o = ser.ReadObject(ms) as LogFiles; } catch (Exception e) { throw new LogFilesLoadException(string.Format("Error thrown then read LogFiles settings: {0}", e.Message)); } finally { ms.Close(); } return(o); }