@Override public void run(Logging logging, Void arg) { for (Sink sink : logging.listSinks().iterateAll()) { System.out.println(sink); } } }
/** Example of listing sinks, specifying the page size. */ // [TARGET listSinks(ListOption...)] public Page<Sink> listSinks() { // [START logging_list_sinks] Page<Sink> sinks = logging.listSinks(ListOption.pageSize(100)); for (Sink sink : sinks.iterateAll()) { // do something with the sink } // [END logging_list_sinks] return sinks; }
public static void main(String... args) throws Exception { // Create a service object // Credentials are inferred from the environment try (Logging logging = LoggingOptions.getDefaultInstance().getService()) { // Create a sink to back log entries to a BigQuery dataset SinkInfo sinkInfo = SinkInfo.newBuilder("test-sink", DatasetDestination.of("test-dataset")) .setFilter("severity >= ERROR") .build(); logging.create(sinkInfo); // List sinks Page<Sink> sinks = logging.listSinks(); for (Sink sink : sinks.iterateAll()) { System.out.println(sink); } } } }
@Test public void testListSinksEmpty() { EasyMock.replay(rpcFactoryMock); logging = options.getService(); ListSinksRequest request = ListSinksRequest.newBuilder().setParent(PROJECT_PB).build(); List<Sink> sinkList = ImmutableList.of(); ListSinksResponse response = ListSinksResponse.newBuilder() .setNextPageToken("") .addAllSinks(Lists.transform(sinkList, SINK_TO_PB_FUNCTION)) .build(); ApiFuture<ListSinksResponse> futureResponse = ApiFutures.immediateFuture(response); EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse); EasyMock.replay(loggingRpcMock); Page<Sink> page = logging.listSinks(); assertNull(page.getNextPageToken()); assertNull(page.getNextPage()); assertArrayEquals(sinkList.toArray(), Iterables.toArray(page.getValues(), Sink.class)); }
@Test public void testListSinks() throws InterruptedException { String firstName = formatForTest("test-list-sinks-1"); String secondName = formatForTest("test-list-sinks-2"); Sink firstSink = logging().create(SinkInfo.of(firstName, DatasetDestination.of("dataset"))); Sink secondSink = logging().create(SinkInfo.of(secondName, DatasetDestination.of("dataset"))); Logging.ListOption[] options = {Logging.ListOption.pageSize(1)}; Page<Sink> sinkPage = logging().listSinks(options); Set<Sink> sinks = Sets.newHashSet(sinkPage.iterateAll()); while (!sinks.contains(firstSink) || !sinks.contains(secondSink)) { Thread.sleep(500); sinks = Sets.newHashSet(logging().listSinks(options).iterateAll()); } firstSink.delete(); secondSink.delete(); }
@Test public void testListSinks() { String cursor = "cursor"; EasyMock.replay(rpcFactoryMock); logging = options.getService(); ListSinksRequest request = ListSinksRequest.newBuilder().setParent(PROJECT_PB).build(); List<Sink> sinkList = ImmutableList.of( new Sink(logging, new SinkInfo.BuilderImpl(SINK_INFO)), new Sink(logging, new SinkInfo.BuilderImpl(SINK_INFO))); ListSinksResponse response = ListSinksResponse.newBuilder() .setNextPageToken(cursor) .addAllSinks(Lists.transform(sinkList, SINK_TO_PB_FUNCTION)) .build(); ApiFuture<ListSinksResponse> futureResponse = ApiFutures.immediateFuture(response); EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse); EasyMock.replay(loggingRpcMock); Page<Sink> page = logging.listSinks(); assertEquals(cursor, page.getNextPageToken()); assertArrayEquals(sinkList.toArray(), Iterables.toArray(page.getValues(), Sink.class)); }
@Test public void testListSinksWithOptions() { String cursor = "cursor"; EasyMock.replay(rpcFactoryMock); logging = options.getService(); ListSinksRequest request = ListSinksRequest.newBuilder() .setPageToken(cursor) .setPageSize(42) .setParent(PROJECT_PB) .build(); List<Sink> sinkList = ImmutableList.of( new Sink(logging, new SinkInfo.BuilderImpl(SINK_INFO)), new Sink(logging, new SinkInfo.BuilderImpl(SINK_INFO))); ListSinksResponse response = ListSinksResponse.newBuilder() .setNextPageToken(cursor) .addAllSinks(Lists.transform(sinkList, SINK_TO_PB_FUNCTION)) .build(); ApiFuture<ListSinksResponse> futureResponse = ApiFutures.immediateFuture(response); EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse); EasyMock.replay(loggingRpcMock); Page<Sink> page = logging.listSinks(ListOption.pageSize(42), ListOption.pageToken(cursor)); assertEquals(cursor, page.getNextPageToken()); assertArrayEquals(sinkList.toArray(), Iterables.toArray(page.getValues(), Sink.class)); }
EasyMock.expect(loggingRpcMock.list(request2)).andReturn(futureResponse2); EasyMock.replay(loggingRpcMock); Page<Sink> page = logging.listSinks(); assertEquals(cursor1, page.getNextPageToken()); assertArrayEquals(sinkList1.toArray(), Iterables.toArray(page.getValues(), Sink.class));