diff --git a/src/main/java/com/uber/profiling/Arguments.java b/src/main/java/com/uber/profiling/Arguments.java index 8052355..4ce8497 100644 --- a/src/main/java/com/uber/profiling/Arguments.java +++ b/src/main/java/com/uber/profiling/Arguments.java @@ -59,6 +59,7 @@ public class Arguments { private boolean noop = false; private Constructor reporterConstructor; + private Reporter reporter; private Constructor configProviderConstructor; private String configFile; @@ -260,11 +261,12 @@ public Map> getRawArgValues() { } public Reporter getReporter() { + if (reporter != null) return reporter; if (reporterConstructor == null) { return new ConsoleOutputReporter(); } else { try { - Reporter reporter = reporterConstructor.newInstance(); + reporter = reporterConstructor.newInstance(); reporter.updateArguments(getRawArgValues()); return reporter; } catch (Throwable e) {