예제 #1
0
        public void TestThrowingOnExistingOutputDir()
        {
            const string outputDirName   = "OutputDirInitializerTest";
            const string runId           = "12345";
            var          existingDirName = Path.Combine(outputDirName, runId);

            Directory.CreateDirectory(existingDirName);

            Action initWithThrow = () => OutputDirInitializer.InitDirs(
                outputDirName,
                runId,
                null,
                "testWriter",
                _loggerFactory,
                true);

            initWithThrow.Should().Throw <ArgumentException>().Which.Message.Should().Contain(OutputDirInitializer.OutputDirAlreadyExistsMessageTail);

            // This statement should not throw, as throwing parameter set to false
            OutputDirInitializer.InitDirs(
                outputDirName,
                runId,
                null,
                "testWriter",
                _loggerFactory,
                false);

            Directory.Delete(existingDirName, true);
        }
예제 #2
0
        public CsvWriterFactory(string runId, LogSharkConfiguration config, ILoggerFactory loggerFactory)
        {
            _config = config;
            (_outputDirectory, _) = OutputDirInitializer.InitDirs(_config.OutputDir, runId, _config.AppendTo, "csv", loggerFactory, _config.ThrowIfOutputDirectoryExists);
            _appending            = !string.IsNullOrWhiteSpace(_config.AppendTo);

            _loggerFactory = loggerFactory;
            _logger        = _loggerFactory.CreateLogger <CsvWriterFactory>();
        }
예제 #3
0
        public HyperWriterFactory(
            string runId,
            LogSharkConfiguration config,
            ILoggerFactory loggerFactory)
        {
            _config = config;

            Directory.CreateDirectory(_config.HyperLogDir);
            Directory.CreateDirectory(_config.TempDir);
            _server = new HyperProcess(Telemetry.DoNotSendUsageDataToTableau, null, new Dictionary <string, string> {
                { "log-dir", _config.HyperLogDir },
                { ":hyper_temp_directory_override", _config.TempDir },
            });

            (_outputDirectory, _workbooksDirectory) = OutputDirInitializer.InitDirs(_config.OutputDir, runId, _config.AppendTo, "hyper", loggerFactory, _config.ThrowIfOutputDirectoryExists);
            _loggerFactory = loggerFactory;
            _logger        = _loggerFactory.CreateLogger <HyperWriterFactory>();
        }
예제 #4
0
        public SqlWorkbookGenerator(
            string runId,
            LogSharkConfiguration config,
            string dbName,
            string dbHost,
            string dbPort,
            string dbUsername,
            ILoggerFactory loggerFactory)
        {
            _config = config;
            _logger = loggerFactory.CreateLogger <SqlWorkbookGenerator>();
            (_, _workbooksOutputDir) = OutputDirInitializer.InitDirs(_config.OutputDir, runId, _config.AppendTo, "postgres", loggerFactory, _config.ThrowIfOutputDirectoryExists);

            _dbName     = dbName;
            _dbHost     = dbHost;
            _dbPort     = dbPort;
            _dbUsername = dbUsername;
        }