public void TestExportTwoLines() { var logFile = new InMemoryLogFile(); logFile.AddEntry("Hello,", LevelFlags.Other); logFile.AddEntry("World!", LevelFlags.Other); var exporter = new LogFileToFileExporter(logFile, _directory, "foo"); exporter.FullExportFilename.Should().BeNull("because the full filename must be determined from inside Export, NOT beforehand"); new Action(() => exporter.Export()).Should().NotThrow(); exporter.FullExportFilename.Should().NotBeNull(); exporter.FullExportFilename.Should().StartWith(_directory); GetString(exporter.FullExportFilename).Should().Be("Hello,\r\nWorld!"); }
public void TestExportTwice() { var logFile = new InMemoryLogFile(); logFile.AddEntry("Hello", LevelFlags.Other); var exporter1 = new LogFileToFileExporter(logFile, _directory, "foo"); exporter1.Export(); logFile.AddEntry("World!", LevelFlags.Other); var exporter2 = new LogFileToFileExporter(logFile, _directory, "foo"); new Action(() => exporter2.Export()).Should().NotThrow(); exporter1.FullExportFilename.Should() .NotBe(exporter2.FullExportFilename, "because previous exports should not be overwritten"); GetString(exporter1.FullExportFilename).Should().Be("Hello"); GetString(exporter2.FullExportFilename).Should().Be("Hello\r\nWorld!"); }
private void ExportToFile() { var dataSource = DataSource; var logFile = dataSource?.FilteredLogSource; if (logFile == null) { Log.Warn("DataSource is null, cancelling export..."); return; } var exportDirectory = _applicationSettings.Export.ExportFolder; var exporter = new LogFileToFileExporter(logFile, exportDirectory, dataSource.FullFileName ); var action = new ExportAction(exporter, DisplayName, exportDirectory); _actionCenter.Add(action); }