void ConfigurateETL() { string path = AppDomain.CurrentDomain.BaseDirectory; OptionsManager optionsManager = new OptionsManager(path); etlOptions = optionsManager.GetOptions <EtlOptions>() as EtlOptions; Directory.CreateDirectory(etlOptions.DirectoryOptions.SourceDirectory); Directory.CreateDirectory(etlOptions.DirectoryOptions.TargetDirectory); sourceWatcher = new FileSystemWatcher(etlOptions.DirectoryOptions.SourceDirectory); sourceWatcher.Filter = "*.txt"; sourceWatcher.EnableRaisingEvents = true; sourceWatcher.IncludeSubdirectories = true; sourceWatcher.Created += SourceWatcher_Created; sourceWatcher.EnableRaisingEvents = true; logger = new Logger(etlOptions.LoggingOptions); Thread loggerThread = new Thread(new ThreadStart(logger.Start)); loggerThread.Start(); logger.Log($"Domain directory: {path}"); logger.Log(optionsManager.log); logger.Log($"Source Directory: {etlOptions.DirectoryOptions.SourceDirectory}"); logger.Log($"Encryption Enabled: {etlOptions.EncryptionOptions.EncryptionEnabled}"); logger.Log($"Compression Enabled: {etlOptions.ArchiveOptions.CompressionEnabled}"); }
public Logger() { var optionsManager = new OptionsManager(AppDomain.CurrentDomain.BaseDirectory); configOptions = optionsManager.GetOptions<Options>(); path = configOptions.PathToDirectory.SourceDirectory; watcher = new FileSystemWatcher(path); watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter = "*.txt"; watcher.Created += Watcher_Created; }