/// <summary> /// Create a log reader based on the selected UI inputs /// </summary> /// <param name="query"></param> /// <param name="output"></param> /// <param name="logfile"></param> /// <param name="machineName"></param> /// <returns></returns> public bool ReadLog(string query, Dictionary <string, Query> output, string logfile = "", string machineName = "") { LogReader lr; if (LoadFromOption == LoadFromOptions.Live) { lr = LogReaderFactory.CreateLiveLogReader(query: query, server: machineName); } else { if (File.Exists(logfile)) { lr = LogReaderFactory.CreateSavedLogReader(logfile, query); } else { MessageBoxResult result = MessageBox.Show("Invalid Log File", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return(false); } } try { lr.ReadLog(output, ct); } catch (Exception e) { MessageBoxResult result = MessageBox.Show(e.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error); return(false); } return(true); }
static void Main(string[] args) { string s = LogQueryBuilder.Build( new List <int> { 4 }, new List <int> { 11, 12 }, DateTime.Now.AddDays(-1) ); LogReader log = LogReaderFactory.CreateSavedLogReader(@"C:\WebAPILog\Analytic.evtx", s); var result = new Dictionary <string, Query>(); log.ReadLog(result); foreach (Query q in result.Values) { Console.WriteLine(q); } Console.WriteLine("<ENTER> to EXIT"); Console.ReadLine(); }