CompositeLogger extends Logger { @Override public void error(@NonNull Object tag, @NonNull String message) { for (Logger logger : loggerList) { logger.error(tag, message); } } CompositeLogger(List<Logger> loggerList); @Override void debug(@NonNull Object tag, @NonNull String message); @Override void error(@NonNull Object tag, @NonNull String message); @Override void error(@NonNull Object tag, @NonNull String message, @NonNull Throwable th); @Override void info(@NonNull Object tag, @NonNull String message);  }
@Test public void error() throws Exception { Throwable th = new IndexOutOfBoundsException(); logger.error(TAG, MESSAGE, th); verify(logger1).error(eq(TAG), eq(MESSAGE), eq(th)); verify(logger2).error(eq(TAG), eq(MESSAGE), eq(th)); }
@Test public void errorWithThrowable() throws Exception { logger.error(TAG, MESSAGE); verify(logger1).error(eq(TAG), eq(MESSAGE)); verify(logger2).error(eq(TAG), eq(MESSAGE)); }