@Generated(value="by GAPIC v0.0.5") @BetaApi public class LoggingClient extends Object implements com.google.api.gax.core.BackgroundResource
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
try (LoggingClient loggingClient = LoggingClient.create()) {
LogNameOneof logName = LogNameOneof.from(LogName.of("[PROJECT]", "[LOG]"));
loggingClient.deleteLog(logName);
}
Note: close() needs to be called on the loggingClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of LoggingSettings to create(). For example:
To customize credentials:
LoggingSettings loggingSettings =
LoggingSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
LoggingClient loggingClient =
LoggingClient.create(loggingSettings);
To customize the endpoint:
LoggingSettings loggingSettings =
LoggingSettings.newBuilder().setEndpoint(myEndpoint).build();
LoggingClient loggingClient =
LoggingClient.create(loggingSettings);
| Modifier | Constructor and Description |
|---|---|
protected |
LoggingClient(LoggingServiceV2Stub stub) |
protected |
LoggingClient(LoggingSettings settings)
Constructs an instance of LoggingClient, using the given settings.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
awaitTermination(long duration,
TimeUnit unit) |
void |
close() |
static LoggingClient |
create()
Constructs an instance of LoggingClient with default settings.
|
static LoggingClient |
create(LoggingServiceV2Stub stub)
Constructs an instance of LoggingClient, using the given stub for making calls.
|
static LoggingClient |
create(LoggingSettings settings)
Constructs an instance of LoggingClient, using the given settings.
|
void |
deleteLog(com.google.logging.v2.LogNameOneof logName)
Deletes all the log entries in a log.
|
com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.DeleteLogRequest,com.google.protobuf.Empty> |
deleteLogCallable()
Deletes all the log entries in a log.
|
LoggingSettings |
getSettings() |
LoggingServiceV2Stub |
getStub() |
boolean |
isShutdown() |
boolean |
isTerminated() |
PagedResponseWrappers.ListLogEntriesPagedResponse |
listLogEntries(List<String> resourceNames,
String filter,
String orderBy)
Lists log entries.
|
PagedResponseWrappers.ListLogEntriesPagedResponse |
listLogEntries(com.google.logging.v2.ListLogEntriesRequest request)
Lists log entries.
|
com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListLogEntriesRequest,com.google.logging.v2.ListLogEntriesResponse> |
listLogEntriesCallable()
Lists log entries.
|
com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListLogEntriesRequest,PagedResponseWrappers.ListLogEntriesPagedResponse> |
listLogEntriesPagedCallable()
Lists log entries.
|
PagedResponseWrappers.ListLogsPagedResponse |
listLogs(com.google.logging.v2.ListLogsRequest request)
Lists the logs in projects, organizations, folders, or billing accounts.
|
PagedResponseWrappers.ListLogsPagedResponse |
listLogs(com.google.logging.v2.ParentNameOneof parent)
Lists the logs in projects, organizations, folders, or billing accounts.
|
com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListLogsRequest,com.google.logging.v2.ListLogsResponse> |
listLogsCallable()
Lists the logs in projects, organizations, folders, or billing accounts.
|
com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListLogsRequest,PagedResponseWrappers.ListLogsPagedResponse> |
listLogsPagedCallable()
Lists the logs in projects, organizations, folders, or billing accounts.
|
PagedResponseWrappers.ListMonitoredResourceDescriptorsPagedResponse |
listMonitoredResourceDescriptors(com.google.logging.v2.ListMonitoredResourceDescriptorsRequest request)
Lists the descriptors for monitored resource types used by Stackdriver Logging.
|
com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListMonitoredResourceDescriptorsRequest,com.google.logging.v2.ListMonitoredResourceDescriptorsResponse> |
listMonitoredResourceDescriptorsCallable()
Lists the descriptors for monitored resource types used by Stackdriver Logging.
|
com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListMonitoredResourceDescriptorsRequest,PagedResponseWrappers.ListMonitoredResourceDescriptorsPagedResponse> |
listMonitoredResourceDescriptorsPagedCallable()
Lists the descriptors for monitored resource types used by Stackdriver Logging.
|
void |
shutdown() |
void |
shutdownNow() |
com.google.logging.v2.WriteLogEntriesResponse |
writeLogEntries(com.google.logging.v2.LogNameOneof logName,
com.google.api.MonitoredResource resource,
Map<String,String> labels,
List<com.google.logging.v2.LogEntry> entries)
## Log entry resources
|
com.google.logging.v2.WriteLogEntriesResponse |
writeLogEntries(com.google.logging.v2.WriteLogEntriesRequest request)
## Log entry resources
|
com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.WriteLogEntriesRequest,com.google.logging.v2.WriteLogEntriesResponse> |
writeLogEntriesCallable()
## Log entry resources
|
protected LoggingClient(LoggingSettings settings) throws IOException
IOException@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") protected LoggingClient(LoggingServiceV2Stub stub)
public static final LoggingClient create() throws IOException
IOExceptionpublic static final LoggingClient create(LoggingSettings settings) throws IOException
IOException@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public static final LoggingClient create(LoggingServiceV2Stub stub)
public final LoggingSettings getSettings()
@BetaApi(value="A restructuring of stub classes is planned, so this may break in the future") public LoggingServiceV2Stub getStub()
public final void deleteLog(com.google.logging.v2.LogNameOneof logName)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
LogNameOneof logName = LogNameOneof.from(LogName.of("[PROJECT]", "[LOG]"));
loggingClient.deleteLog(logName);
}
logName - Required. The resource name of the log to delete:
"projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]"
`[LOG_ID]` must be URL-encoded. For example, `"projects/my-project-id/logs/syslog"`, `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. For more information about log names, see [LogEntry][google.logging.v2.LogEntry].
com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.DeleteLogRequest,com.google.protobuf.Empty> deleteLogCallable()
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
LogNameOneof logName = LogNameOneof.from(LogName.of("[PROJECT]", "[LOG]"));
DeleteLogRequest request = DeleteLogRequest.newBuilder()
.setLogNameWithLogNameOneof(logName)
.build();
ApiFuture<Void> future = loggingClient.deleteLogCallable().futureCall(request);
// Do something
future.get();
}
public final com.google.logging.v2.WriteLogEntriesResponse writeLogEntries(com.google.logging.v2.LogNameOneof logName,
com.google.api.MonitoredResource resource,
Map<String,String> labels,
List<com.google.logging.v2.LogEntry> entries)
Writes log entries to Stackdriver Logging. This API method is the only way to send log entries to Stackdriver Logging. This method is used, directly or indirectly, by the Stackdriver Logging agent (fluentd) and all logging libraries configured to use Stackdriver Logging.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
LogNameOneof logName = LogNameOneof.from(LogName.of("[PROJECT]", "[LOG]"));
MonitoredResource resource = MonitoredResource.newBuilder().build();
Map<String, String> labels = new HashMap<>();
List<LogEntry> entries = new ArrayList<>();
WriteLogEntriesResponse response = loggingClient.writeLogEntries(logName, resource, labels, entries);
}
logName - Optional. A default log resource name that is assigned to all log entries in
`entries` that do not specify a value for `log_name`:
"projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]"
`[LOG_ID]` must be URL-encoded. For example, `"projects/my-project-id/logs/syslog"` or `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. For more information about log names, see [LogEntry][google.logging.v2.LogEntry].
resource - Optional. A default monitored resource object that is assigned to all log
entries in `entries` that do not specify a value for `resource`. Example:
{ "type": "gce_instance", "labels": { "zone": "us-central1-a", "instance_id": "00000000000000000000" }}
See [LogEntry][google.logging.v2.LogEntry].
labels - Optional. Default labels that are added to the `labels` field of all log entries
in `entries`. If a log entry already has a label with the same key as a label in this
parameter, then the log entry's label is not changed. See
[LogEntry][google.logging.v2.LogEntry].entries - Required. The log entries to send to Stackdriver Logging. The order of log
entries in this list does not matter. Values supplied in this method's `log_name`,
`resource`, and `labels` fields are copied into those log entries in this list that do not
include values for their corresponding fields. For more information, see the
[LogEntry][google.logging.v2.LogEntry] type.
If the `timestamp` or `insert_id` fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the `entries.list` method.
Log entries with timestamps that are more than the [logs retention period](/logging/quota-policy) in the past or more than 24 hours in the future might be discarded. Discarding does not return an error.
To improve throughput and to avoid exceeding the [quota limit](/logging/quota-policy) for calls to `entries.write`, you should try to include several log entries in this list, rather than calling this method for each individual log entry.
com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.logging.v2.WriteLogEntriesResponse writeLogEntries(com.google.logging.v2.WriteLogEntriesRequest request)
Writes log entries to Stackdriver Logging. This API method is the only way to send log entries to Stackdriver Logging. This method is used, directly or indirectly, by the Stackdriver Logging agent (fluentd) and all logging libraries configured to use Stackdriver Logging.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
List<LogEntry> entries = new ArrayList<>();
WriteLogEntriesRequest request = WriteLogEntriesRequest.newBuilder()
.addAllEntries(entries)
.build();
WriteLogEntriesResponse response = loggingClient.writeLogEntries(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.WriteLogEntriesRequest,com.google.logging.v2.WriteLogEntriesResponse> writeLogEntriesCallable()
Writes log entries to Stackdriver Logging. This API method is the only way to send log entries to Stackdriver Logging. This method is used, directly or indirectly, by the Stackdriver Logging agent (fluentd) and all logging libraries configured to use Stackdriver Logging.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
List<LogEntry> entries = new ArrayList<>();
WriteLogEntriesRequest request = WriteLogEntriesRequest.newBuilder()
.addAllEntries(entries)
.build();
ApiFuture<WriteLogEntriesResponse> future = loggingClient.writeLogEntriesCallable().futureCall(request);
// Do something
WriteLogEntriesResponse response = future.get();
}
public final PagedResponseWrappers.ListLogEntriesPagedResponse listLogEntries(List<String> resourceNames, String filter, String orderBy)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
List<String> resourceNames = new ArrayList<>();
String filter = "";
String orderBy = "";
for (LogEntry element : loggingClient.listLogEntries(resourceNames, filter, orderBy).iterateAll()) {
// doThingsWith(element);
}
}
resourceNames - Required. Names of one or more parent resources from which to retrieve log
entries:
"projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]"
Projects listed in the `project_ids` field are added to this list.
filter - Optional. A filter that chooses which log entries to return. See [Advanced Logs
Filters](/logging/docs/view/advanced_filters). Only log entries that match the filter are
returned. An empty filter matches all log entries in the resources listed in
`resource_names`. Referencing a parent resource that is not listed in `resource_names` will
cause the filter to return no results. The maximum length of the filter is 20000
characters.orderBy - Optional. How the results should be sorted. Presently, the only permitted values
are `"timestamp asc"` (default) and `"timestamp desc"`. The first option returns entries in
order of increasing values of `LogEntry.timestamp` (oldest first), and the second option
returns entries in order of decreasing timestamps (newest first). Entries with equal
timestamps are returned in order of their `insert_id` values.com.google.api.gax.rpc.ApiException - if the remote call failspublic final PagedResponseWrappers.ListLogEntriesPagedResponse listLogEntries(com.google.logging.v2.ListLogEntriesRequest request)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
List<String> resourceNames = new ArrayList<>();
ListLogEntriesRequest request = ListLogEntriesRequest.newBuilder()
.addAllResourceNames(resourceNames)
.build();
for (LogEntry element : loggingClient.listLogEntries(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListLogEntriesRequest,PagedResponseWrappers.ListLogEntriesPagedResponse> listLogEntriesPagedCallable()
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
List<String> resourceNames = new ArrayList<>();
ListLogEntriesRequest request = ListLogEntriesRequest.newBuilder()
.addAllResourceNames(resourceNames)
.build();
ApiFuture<ListLogEntriesPagedResponse> future = loggingClient.listLogEntriesPagedCallable().futureCall(request);
// Do something
for (LogEntry element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListLogEntriesRequest,com.google.logging.v2.ListLogEntriesResponse> listLogEntriesCallable()
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
List<String> resourceNames = new ArrayList<>();
ListLogEntriesRequest request = ListLogEntriesRequest.newBuilder()
.addAllResourceNames(resourceNames)
.build();
while (true) {
ListLogEntriesResponse response = loggingClient.listLogEntriesCallable().call(request);
for (LogEntry element : response.getEntriesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final PagedResponseWrappers.ListMonitoredResourceDescriptorsPagedResponse listMonitoredResourceDescriptors(com.google.logging.v2.ListMonitoredResourceDescriptorsRequest request)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListMonitoredResourceDescriptorsRequest request = ListMonitoredResourceDescriptorsRequest.newBuilder().build();
for (MonitoredResourceDescriptor element : loggingClient.listMonitoredResourceDescriptors(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListMonitoredResourceDescriptorsRequest,PagedResponseWrappers.ListMonitoredResourceDescriptorsPagedResponse> listMonitoredResourceDescriptorsPagedCallable()
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListMonitoredResourceDescriptorsRequest request = ListMonitoredResourceDescriptorsRequest.newBuilder().build();
ApiFuture<ListMonitoredResourceDescriptorsPagedResponse> future = loggingClient.listMonitoredResourceDescriptorsPagedCallable().futureCall(request);
// Do something
for (MonitoredResourceDescriptor element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListMonitoredResourceDescriptorsRequest,com.google.logging.v2.ListMonitoredResourceDescriptorsResponse> listMonitoredResourceDescriptorsCallable()
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListMonitoredResourceDescriptorsRequest request = ListMonitoredResourceDescriptorsRequest.newBuilder().build();
while (true) {
ListMonitoredResourceDescriptorsResponse response = loggingClient.listMonitoredResourceDescriptorsCallable().call(request);
for (MonitoredResourceDescriptor element : response.getResourceDescriptorsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final PagedResponseWrappers.ListLogsPagedResponse listLogs(com.google.logging.v2.ParentNameOneof parent)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ParentNameOneof parent = ParentNameOneof.from(ProjectName.of("[PROJECT]"));
for (String element : loggingClient.listLogs(parent).iterateAll()) {
// doThingsWith(element);
}
}
parent - Required. The resource name that owns the logs:
"projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]"
com.google.api.gax.rpc.ApiException - if the remote call failspublic final PagedResponseWrappers.ListLogsPagedResponse listLogs(com.google.logging.v2.ListLogsRequest request)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ParentNameOneof parent = ParentNameOneof.from(ProjectName.of("[PROJECT]"));
ListLogsRequest request = ListLogsRequest.newBuilder()
.setParentWithParentNameOneof(parent)
.build();
for (String element : loggingClient.listLogs(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListLogsRequest,PagedResponseWrappers.ListLogsPagedResponse> listLogsPagedCallable()
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ParentNameOneof parent = ParentNameOneof.from(ProjectName.of("[PROJECT]"));
ListLogsRequest request = ListLogsRequest.newBuilder()
.setParentWithParentNameOneof(parent)
.build();
ApiFuture<ListLogsPagedResponse> future = loggingClient.listLogsPagedCallable().futureCall(request);
// Do something
for (String element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<com.google.logging.v2.ListLogsRequest,com.google.logging.v2.ListLogsResponse> listLogsCallable()
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ParentNameOneof parent = ParentNameOneof.from(ProjectName.of("[PROJECT]"));
ListLogsRequest request = ListLogsRequest.newBuilder()
.setParentWithParentNameOneof(parent)
.build();
while (true) {
ListLogsResponse response = loggingClient.listLogsCallable().call(request);
for (String element : response.getLogNamesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final void close()
throws Exception
close in interface AutoCloseableExceptionpublic void shutdown()
shutdown in interface com.google.api.gax.core.BackgroundResourcepublic boolean isShutdown()
isShutdown in interface com.google.api.gax.core.BackgroundResourcepublic boolean isTerminated()
isTerminated in interface com.google.api.gax.core.BackgroundResourcepublic void shutdownNow()
shutdownNow in interface com.google.api.gax.core.BackgroundResourcepublic boolean awaitTermination(long duration,
TimeUnit unit)
throws InterruptedException
awaitTermination in interface com.google.api.gax.core.BackgroundResourceInterruptedExceptionCopyright © 2017 Google. All rights reserved.