public void TestLogTools(string logDirectory, string logFileNameBase, BaseLogger.LogLevels entryType, BaseLogger.LogLevels logThresholdLevel)
        {
            var logFilePath = Path.Combine(logDirectory, logFileNameBase);

            LogTools.CreateFileLogger(logFilePath, logThresholdLevel);
            Console.WriteLine("Log file; " + LogTools.CurrentLogFilePath);

            var message = "Test log " + entryType + " via LogTools (log threshold is " + logThresholdLevel + ")";

            switch (entryType)
            {
            case BaseLogger.LogLevels.DEBUG:
                LogTools.LogDebug(message);
                break;

            case BaseLogger.LogLevels.INFO:
                LogTools.LogMessage(message);
                break;

            case BaseLogger.LogLevels.WARN:
                LogTools.LogWarning(message);
                break;

            case BaseLogger.LogLevels.ERROR:
                LogTools.LogError(message);
                break;

            case BaseLogger.LogLevels.FATAL:
                LogTools.LogFatalError(message);
                break;

            default:
                LogTools.LogError("Unrecognized log type: " + entryType);
                break;
            }

            ProgRunner.SleepMilliseconds(100);

            LogTools.FlushPendingMessages();
        }