diff options
| author | J08nY | 2017-11-10 12:56:47 +0100 |
|---|---|---|
| committer | J08nY | 2017-11-10 12:56:47 +0100 |
| commit | 588aa02a37ffd6e0ee2d164540023d1692109e89 (patch) | |
| tree | 609505ab9461fa341bb468caf092af6a563dcc61 /src/cz/crcs/ectester/reader/output/OutputLogger.java | |
| parent | 631edcfe145a558dd645dae5d83f3825a74471b1 (diff) | |
| parent | 4248ae9d9e3f6b79c9874c49ba901fba0f332211 (diff) | |
| download | ECTester-588aa02a37ffd6e0ee2d164540023d1692109e89.tar.gz ECTester-588aa02a37ffd6e0ee2d164540023d1692109e89.tar.zst ECTester-588aa02a37ffd6e0ee2d164540023d1692109e89.zip | |
Merge branch 'devel'
Diffstat (limited to '')
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/OutputLogger.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/reader/output/OutputLogger.java b/src/cz/crcs/ectester/reader/output/OutputLogger.java new file mode 100644 index 0000000..bf47a1f --- /dev/null +++ b/src/cz/crcs/ectester/reader/output/OutputLogger.java @@ -0,0 +1,60 @@ +package cz.crcs.ectester.reader.output; + +import java.io.*; +import java.util.LinkedList; +import java.util.List; + +/** + * @author Petr Svenda petr@svenda.com + * @author Jan Jancar johny@neuromancer.sk + */ +public class OutputLogger { + private OutputStream out; + private PrintStream print; + + public OutputLogger(boolean systemOut, String... filePaths) throws IOException { + List<OutputStream> streams = new LinkedList<>(); + for (String filePath : filePaths) { + if (filePath != null) { + streams.add(new FileOutputStream(filePath)); + } + } + if (systemOut) { + streams.add(System.out); + } + this.out = new TeeOutputStream(streams.toArray(new OutputStream[0])); + this.print = new PrintStream(this.out); + } + + public OutputLogger(String filePath) throws IOException { + this(true, filePath); + } + + public OutputStream getOutputStream() { + return this.out; + } + + public PrintStream getPrintStream() { + return this.print; + } + + public void println() { + print.println(); + } + + public void println(String logLine) { + print.println(logLine); + } + + public void print(String logLine) { + print.print(logLine); + } + + public void flush() { + print.flush(); + } + + public void close() { + print.close(); + } +} |
