### Question:
DuplicatingLog extends AbstractLog { @Override public void bulk( @Nonnull Consumer<Log> consumer ) { bulk( new LinkedList<>( logs ), new ArrayList<>( logs.size() ), consumer ); } DuplicatingLog( Log... logs );  DuplicatingLog( List<Log> logs ); boolean remove( Log log ); @Override boolean isDebugEnabled(); @Nonnull @Override Logger debugLogger(); @Nonnull @Override Logger infoLogger(); @Nonnull @Override Logger warnLogger(); @Nonnull @Override Logger errorLogger(); @Override void bulk( @Nonnull Consumer<Log> consumer );  }### Answer:
@Test void shouldBulkOutputToMultipleLogs() { AssertableLogProvider logProvider = new AssertableLogProvider(); Log log1 = logProvider.getLog( "log 1" ); Log log2 = logProvider.getLog( "log 2" ); DuplicatingLog log = new DuplicatingLog( log1, log2 ); log.bulk( bulkLog -> bulkLog.info( "When the going gets weird" ) ); logProvider.assertExactly( AssertableLogProvider.inLog( "log 1" ).info( "When the going gets weird" ), AssertableLogProvider.inLog( "log 2" ).info( "When the going gets weird" ) ); }