public void RunTest()
        {
            string myDesc = this.GetType().Name.ToString();

            //create log writers
            Niawa.Utilities.Log.ILogWriter consoleWriter = new Niawa.Utilities.Log.ConsoleLogWriter();
            Niawa.Utilities.Log.ILogWriter textFileWriter = new Niawa.Utilities.Log.TextFileLogWriter(_logPath);

            //create logger
            Niawa.Utilities.Log.BufferedLogger logger = new Niawa.Utilities.Log.BufferedLogger(myDesc);

            //add log listener
            Niawa.Utilities.Log.ILogListener eventBasedLogListener = new Niawa.Utilities.Log.EventBasedLogListener(logger);

            //add log writers to logger
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.INFO, consoleWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.WARN, consoleWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.ERROR, consoleWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.SEVERE, consoleWriter);

            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.WARN, textFileWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.ERROR, textFileWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.SEVERE, textFileWriter);

            logger.Start();

            logger.Info("Parent class started up");

            //create the test child
            EventBasedLoggingTestChild tc = new EventBasedLoggingTestChild();

            //bind logging to the test child
            tc.BindLogEvents(eventBasedLogListener);

            //do something that causes test child to log
            logger.Info("Starting child class");
            tc.StartTestClass();

            logger.Info("Invoking child to do some logging");
            tc.DoSomeTestsWithLogging();
            System.Threading.Thread.Sleep(100);

            logger.Info("Stopping child class");
            tc.StopTestClass();

            //unbind logging
            tc.UnbindLogEvents();

            //shut down
            System.Threading.Thread.Sleep(100);
            logger.Stop();
        }
        /// <summary>
        /// Instantiates EventBasedLoggingTestChild
        /// </summary>
        public EventBasedLoggingTestChild()
        {
            string myDesc = this.GetType().Name.ToString();

            //create evenet-based log writer
            eventLogWriter = new Niawa.Utilities.Log.EventBasedLogWriter();

            //create logger
            logger = new Niawa.Utilities.Log.BufferedLogger(myDesc);

            //add log writer to logger
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.INFO, eventLogWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.WARN, eventLogWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.ERROR, eventLogWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.SEVERE, eventLogWriter);
        }
        public void RunTest()
        {
            string myDesc = this.GetType().Name.ToString();

            //create log writers
            Niawa.Utilities.Log.ILogWriter consoleWriter = new Niawa.Utilities.Log.ConsoleLogWriter();
            Niawa.Utilities.Log.ILogWriter textFileWriter = new Niawa.Utilities.Log.TextFileLogWriter(_logPath);

            //create logger
            Niawa.Utilities.Log.BufferedLogger logger = new Niawa.Utilities.Log.BufferedLogger(myDesc);

            //add log writers to logger
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.INFO, consoleWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.WARN, consoleWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.ERROR, consoleWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.SEVERE, consoleWriter);

            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.WARN, textFileWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.ERROR, textFileWriter);
            logger.AddLogWriter(Niawa.Utilities.NiawaLogType.SEVERE, textFileWriter);

            logger.Start();

            logger.Info("test info message");
            logger.Log(Utilities.NiawaLogType.INFO, "test info message 2");
            logger.Warn("test warn message");
            logger.Error("test error message");
            logger.Severe("test severe message");

            try
            {
                throw new Exception("test throw an exception");
            }
            catch (Exception ex)
            {
                logger.Error("test error message w/exception", ex);
            }

            System.Threading.Thread.Sleep(100);
            logger.Stop();
        }