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