/// <summary> /// Unpacks the target logset and sets the root log directory. Contains logic to copy files locally if target is on a remote server. /// </summary> public static void ExtractLogFiles(LogsharkRequest request) { // Purge temp directory of any data left over from aborted runs. PurgeTempDirectory(); var availableArtifactProcessors = ArtifactProcessorLoader.LoadAllArtifactProcessors(); var extractionWhitelist = BuildExtractionWhitelist(availableArtifactProcessors); var extractor = new LogsetExtractor(request, extractionWhitelist); extractor.Process(); }
protected ExtractionResult ExtractLogset(LogsharkRequestTarget target, string runId) { string runTempDirectory = GetRunTempDirectory(runId); ISet <Regex> extractionWhitelist = BuildExtractionWhitelist(); string logsetLocation = PrepareLogsetLocation(target, runTempDirectory, extractionWhitelist); var extractor = new LogsetExtractor(extractionWhitelist); return(extractor.Extract(logsetLocation, runTempDirectory)); }
private ExtractionResult ExtractLogset(LogsharkRequestTarget target) { var runTempDirectory = GetRunTempDirectory(); var extractionWhitelist = BuildExtractionWhitelist(); var logsetLocation = PrepareLogsetLocation(target, runTempDirectory, extractionWhitelist); var extractor = new LogsetExtractor(extractionWhitelist); return(extractor.Extract(logsetLocation, runTempDirectory)); }
/// <summary> /// Performs any teardown tasks. /// </summary> public static void TearDown(LogsharkRequest request) { // Drop logset if user didn't want to retain it, assuming they didn't piggyback on an existing processed logset. if (request.DropMongoDBPostRun && !request.RunContext.UtilizedExistingProcessedLogset) { try { Log.InfoFormat("Dropping Mongo database {0}..", request.RunContext.MongoDatabaseName); MongoAdminUtil.DropDatabase(request.Configuration.MongoConnectionInfo.GetClient(), request.RunContext.MongoDatabaseName); // Remove metadata record for this run from master metadata DB. LogsetMetadataWriter metadataWriter = new LogsetMetadataWriter(request); metadataWriter.DeleteMasterMetadataRecord(); } catch (Exception ex) { Log.ErrorFormat("Failed to clean up DB {0}: {1}", request.RunContext.MongoDatabaseName, ex.Message); } } LogsetExtractor.CleanUpRun(request.RunId); }
/// <summary> /// Cleans out all contents of the application temp directory. /// </summary> public static void PurgeTempDirectory() { // Purge any "temp" files left over from previous runs. LogsetExtractor.CleanUpAll(); }
/// <summary> /// Unpacks the target logset and sets the root log directory. Contains logic to copy files locally if target is on a remote server. /// </summary> public static void ExtractLogFiles(LogsharkRequest request) { var extractor = new LogsetExtractor(request); extractor.Process(); }