public class LoggingClient implements BackgroundResource
Service Description: Service for ingesting and querying logs.
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()) {
LogName logName = LogName.ofProjectLogName("[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:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
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);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceStatic Methods
create()
public static final LoggingClient create()
Constructs an instance of LoggingClient with default settings.
Type | Description |
LoggingClient |
Type | Description |
IOException |
create(LoggingSettings settings)
public static final LoggingClient create(LoggingSettings settings)
Constructs an instance of LoggingClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
Name | Description |
settings | LoggingSettings |
Type | Description |
LoggingClient |
Type | Description |
IOException |
create(LoggingServiceV2Stub stub)
public static final LoggingClient create(LoggingServiceV2Stub stub)
Constructs an instance of LoggingClient, using the given stub for making calls. This is for advanced usage - prefer using create(LoggingSettings).
Name | Description |
stub | LoggingServiceV2Stub |
Type | Description |
LoggingClient |
Constructors
LoggingClient(LoggingSettings settings)
protected LoggingClient(LoggingSettings settings)
Constructs an instance of LoggingClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
Name | Description |
settings | LoggingSettings |
LoggingClient(LoggingServiceV2Stub stub)
protected LoggingClient(LoggingServiceV2Stub stub)
Name | Description |
stub | LoggingServiceV2Stub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Name | Description |
duration | long |
unit | TimeUnit |
Type | Description |
boolean |
Type | Description |
InterruptedException |
close()
public final void close()
deleteLog(DeleteLogRequest request)
public final void deleteLog(DeleteLogRequest request)
Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
DeleteLogRequest request =
DeleteLogRequest.newBuilder()
.setLogName(LogName.ofProjectLogName("[PROJECT]", "[LOG]").toString())
.build();
loggingClient.deleteLog(request);
}
Name | Description |
request | DeleteLogRequest The request object containing all of the parameters for the API call. |
deleteLog(LogName logName)
public final void deleteLog(LogName logName)
Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
LogName logName = LogName.ofProjectLogName("[PROJECT]", "[LOG]");
loggingClient.deleteLog(logName);
}
Name | Description |
logName | LogName Required. The resource name of the log to delete:
For more information about log names, see LogEntry. |
deleteLog(String logName)
public final void deleteLog(String logName)
Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
String logName = LogName.ofProjectLogName("[PROJECT]", "[LOG]").toString();
loggingClient.deleteLog(logName);
}
Name | Description |
logName | String Required. The resource name of the log to delete:
For more information about log names, see LogEntry. |
deleteLogCallable()
public final UnaryCallable<DeleteLogRequest,Empty> deleteLogCallable()
Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
DeleteLogRequest request =
DeleteLogRequest.newBuilder()
.setLogName(LogName.ofProjectLogName("[PROJECT]", "[LOG]").toString())
.build();
ApiFuture<Empty> future = loggingClient.deleteLogCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<DeleteLogRequest,Empty> |
getSettings()
public final LoggingSettings getSettings()
Type | Description |
LoggingSettings |
getStub()
public LoggingServiceV2Stub getStub()
Type | Description |
LoggingServiceV2Stub |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listLogEntries(ListLogEntriesRequest request)
public final LoggingClient.ListLogEntriesPagedResponse listLogEntries(ListLogEntriesRequest request)
Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListLogEntriesRequest request =
ListLogEntriesRequest.newBuilder()
.addAllResourceNames(new ArrayList<String>())
.setFilter("filter-1274492040")
.setOrderBy("orderBy-1207110587")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (LogEntry element : loggingClient.listLogEntries(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListLogEntriesRequest The request object containing all of the parameters for the API call. |
Type | Description |
LoggingClient.ListLogEntriesPagedResponse |
listLogEntries(List<String> resourceNames, String filter, String orderBy)
public final LoggingClient.ListLogEntriesPagedResponse listLogEntries(List<String> resourceNames, String filter, String orderBy)
Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
List<String> resourceNames = new ArrayList<>();
String filter = "filter-1274492040";
String orderBy = "orderBy-1207110587";
for (LogEntry element :
loggingClient.listLogEntries(resourceNames, filter, orderBy).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
resourceNames | List<String> Required. Names of one or more parent resources from which to retrieve log entries:
May alternatively be one or more views: *
Projects listed in the |
filter | String Optional. A filter that chooses which log entries to return. See Advanced Logs
Queries. Only log entries
that match the filter are returned. An empty filter matches all log entries in the
resources listed in |
orderBy | String Optional. How the results should be sorted. Presently, the only permitted values
are |
Type | Description |
LoggingClient.ListLogEntriesPagedResponse |
listLogEntriesCallable()
public final UnaryCallable<ListLogEntriesRequest,ListLogEntriesResponse> listLogEntriesCallable()
Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListLogEntriesRequest request =
ListLogEntriesRequest.newBuilder()
.addAllResourceNames(new ArrayList<String>())
.setFilter("filter-1274492040")
.setOrderBy("orderBy-1207110587")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListLogEntriesResponse response = loggingClient.listLogEntriesCallable().call(request);
for (LogEntry element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListLogEntriesRequest,ListLogEntriesResponse> |
listLogEntriesPagedCallable()
public final UnaryCallable<ListLogEntriesRequest,LoggingClient.ListLogEntriesPagedResponse> listLogEntriesPagedCallable()
Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see Exporting Logs.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListLogEntriesRequest request =
ListLogEntriesRequest.newBuilder()
.addAllResourceNames(new ArrayList<String>())
.setFilter("filter-1274492040")
.setOrderBy("orderBy-1207110587")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<LogEntry> future = loggingClient.listLogEntriesPagedCallable().futureCall(request);
// Do something.
for (LogEntry element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListLogEntriesRequest,ListLogEntriesPagedResponse> |
listLogs(BillingAccountName parent)
public final LoggingClient.ListLogsPagedResponse listLogs(BillingAccountName parent)
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
BillingAccountName parent = BillingAccountName.of("[BILLING_ACCOUNT]");
for (String element : loggingClient.listLogs(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | BillingAccountName Required. The resource name that owns the logs:
|
Type | Description |
LoggingClient.ListLogsPagedResponse |
listLogs(FolderName parent)
public final LoggingClient.ListLogsPagedResponse listLogs(FolderName parent)
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
FolderName parent = FolderName.of("[FOLDER]");
for (String element : loggingClient.listLogs(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | FolderName Required. The resource name that owns the logs:
|
Type | Description |
LoggingClient.ListLogsPagedResponse |
listLogs(ListLogsRequest request)
public final LoggingClient.ListLogsPagedResponse listLogs(ListLogsRequest request)
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListLogsRequest request =
ListLogsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.addAllResourceNames(new ArrayList<String>())
.build();
for (String element : loggingClient.listLogs(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListLogsRequest The request object containing all of the parameters for the API call. |
Type | Description |
LoggingClient.ListLogsPagedResponse |
listLogs(OrganizationName parent)
public final LoggingClient.ListLogsPagedResponse listLogs(OrganizationName parent)
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
for (String element : loggingClient.listLogs(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | OrganizationName Required. The resource name that owns the logs:
|
Type | Description |
LoggingClient.ListLogsPagedResponse |
listLogs(ProjectName parent)
public final LoggingClient.ListLogsPagedResponse listLogs(ProjectName parent)
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
for (String element : loggingClient.listLogs(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | ProjectName Required. The resource name that owns the logs:
|
Type | Description |
LoggingClient.ListLogsPagedResponse |
listLogs(String parent)
public final LoggingClient.ListLogsPagedResponse listLogs(String parent)
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
for (String element : loggingClient.listLogs(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | String Required. The resource name that owns the logs:
|
Type | Description |
LoggingClient.ListLogsPagedResponse |
listLogsCallable()
public final UnaryCallable<ListLogsRequest,ListLogsResponse> listLogsCallable()
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListLogsRequest request =
ListLogsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.addAllResourceNames(new ArrayList<String>())
.build();
while (true) {
ListLogsResponse response = loggingClient.listLogsCallable().call(request);
for (String element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListLogsRequest,ListLogsResponse> |
listLogsPagedCallable()
public final UnaryCallable<ListLogsRequest,LoggingClient.ListLogsPagedResponse> listLogsPagedCallable()
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListLogsRequest request =
ListLogsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.addAllResourceNames(new ArrayList<String>())
.build();
ApiFuture<String> future = loggingClient.listLogsPagedCallable().futureCall(request);
// Do something.
for (String element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListLogsRequest,ListLogsPagedResponse> |
listMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest request)
public final LoggingClient.ListMonitoredResourceDescriptorsPagedResponse listMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest request)
Lists the descriptors for monitored resource types used by Logging.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListMonitoredResourceDescriptorsRequest request =
ListMonitoredResourceDescriptorsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (MonitoredResourceDescriptor element :
loggingClient.listMonitoredResourceDescriptors(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListMonitoredResourceDescriptorsRequest The request object containing all of the parameters for the API call. |
Type | Description |
LoggingClient.ListMonitoredResourceDescriptorsPagedResponse |
listMonitoredResourceDescriptorsCallable()
public final UnaryCallable<ListMonitoredResourceDescriptorsRequest,ListMonitoredResourceDescriptorsResponse> listMonitoredResourceDescriptorsCallable()
Lists the descriptors for monitored resource types used by Logging.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListMonitoredResourceDescriptorsRequest request =
ListMonitoredResourceDescriptorsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListMonitoredResourceDescriptorsResponse response =
loggingClient.listMonitoredResourceDescriptorsCallable().call(request);
for (MonitoredResourceDescriptor element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListMonitoredResourceDescriptorsRequest,ListMonitoredResourceDescriptorsResponse> |
listMonitoredResourceDescriptorsPagedCallable()
public final UnaryCallable<ListMonitoredResourceDescriptorsRequest,LoggingClient.ListMonitoredResourceDescriptorsPagedResponse> listMonitoredResourceDescriptorsPagedCallable()
Lists the descriptors for monitored resource types used by Logging.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
ListMonitoredResourceDescriptorsRequest request =
ListMonitoredResourceDescriptorsRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<MonitoredResourceDescriptor> future =
loggingClient.listMonitoredResourceDescriptorsPagedCallable().futureCall(request);
// Do something.
for (MonitoredResourceDescriptor element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListMonitoredResourceDescriptorsRequest,ListMonitoredResourceDescriptorsPagedResponse> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()
tailLogEntriesCallable()
public final BidiStreamingCallable<TailLogEntriesRequest,TailLogEntriesResponse> tailLogEntriesCallable()
Streaming read of log entries as they are ingested. Until the stream is terminated, it will continue reading logs.
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
BidiStream<TailLogEntriesRequest, TailLogEntriesResponse> bidiStream =
loggingClient.tailLogEntriesCallable().call();
TailLogEntriesRequest request =
TailLogEntriesRequest.newBuilder()
.addAllResourceNames(new ArrayList<String>())
.setFilter("filter-1274492040")
.setBufferWindow(Duration.newBuilder().build())
.build();
bidiStream.send(request);
for (TailLogEntriesResponse response : bidiStream) {
// Do something when a response is received.
}
}
Type | Description |
BidiStreamingCallable<TailLogEntriesRequest,TailLogEntriesResponse> |
writeLogEntries(LogName logName, MonitoredResource resource, Map<String,String> labels, List<LogEntry> entries)
public final WriteLogEntriesResponse writeLogEntries(LogName logName, MonitoredResource resource, Map<String,String> labels, List<LogEntry> entries)
Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
LogName logName = LogName.ofProjectLogName("[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);
}
Name | Description |
logName | LogName Optional. A default log resource name that is assigned to all log entries in
"projects/my-project-id/logs/syslog" "organizations/123/logs/cloudaudit.googleapis.com%2Factivity" The permission |
resource | com.google.api.MonitoredResource Optional. A default monitored resource object that is assigned to all log
entries in { "type": "gce_instance", "labels": { "zone": "us-central1-a", "instance_id": "00000000000000000000" }} See LogEntry. |
labels | Map<String,String> Optional. Default labels that are added to the |
entries | List<LogEntry> Required. The log entries to send to Logging. The order of log entries in this
list does not matter. Values supplied in this method's If the Log entries with timestamps that are more than the logs retention
period in the past or more than 24 hours in the
future will not be available when calling To improve throughput and to avoid exceeding the quota
limit for calls to |
Type | Description |
WriteLogEntriesResponse |
writeLogEntries(WriteLogEntriesRequest request)
public final WriteLogEntriesResponse writeLogEntries(WriteLogEntriesRequest request)
Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
WriteLogEntriesRequest request =
WriteLogEntriesRequest.newBuilder()
.setLogName(LogName.ofProjectLogName("[PROJECT]", "[LOG]").toString())
.setResource(MonitoredResource.newBuilder().build())
.putAllLabels(new HashMap<String, String>())
.addAllEntries(new ArrayList<LogEntry>())
.setPartialSuccess(true)
.setDryRun(true)
.build();
WriteLogEntriesResponse response = loggingClient.writeLogEntries(request);
}
Name | Description |
request | WriteLogEntriesRequest The request object containing all of the parameters for the API call. |
Type | Description |
WriteLogEntriesResponse |
writeLogEntries(String logName, MonitoredResource resource, Map<String,String> labels, List<LogEntry> entries)
public final WriteLogEntriesResponse writeLogEntries(String logName, MonitoredResource resource, Map<String,String> labels, List<LogEntry> entries)
Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
String logName = LogName.ofProjectLogName("[PROJECT]", "[LOG]").toString();
MonitoredResource resource = MonitoredResource.newBuilder().build();
Map<String, String> labels = new HashMap<>();
List<LogEntry> entries = new ArrayList<>();
WriteLogEntriesResponse response =
loggingClient.writeLogEntries(logName, resource, labels, entries);
}
Name | Description |
logName | String Optional. A default log resource name that is assigned to all log entries in
"projects/my-project-id/logs/syslog" "organizations/123/logs/cloudaudit.googleapis.com%2Factivity" The permission |
resource | com.google.api.MonitoredResource Optional. A default monitored resource object that is assigned to all log
entries in { "type": "gce_instance", "labels": { "zone": "us-central1-a", "instance_id": "00000000000000000000" }} See LogEntry. |
labels | Map<String,String> Optional. Default labels that are added to the |
entries | List<LogEntry> Required. The log entries to send to Logging. The order of log entries in this
list does not matter. Values supplied in this method's If the Log entries with timestamps that are more than the logs retention
period in the past or more than 24 hours in the
future will not be available when calling To improve throughput and to avoid exceeding the quota
limit for calls to |
Type | Description |
WriteLogEntriesResponse |
writeLogEntriesCallable()
public final UnaryCallable<WriteLogEntriesRequest,WriteLogEntriesResponse> writeLogEntriesCallable()
Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders)
Sample code:
try (LoggingClient loggingClient = LoggingClient.create()) {
WriteLogEntriesRequest request =
WriteLogEntriesRequest.newBuilder()
.setLogName(LogName.ofProjectLogName("[PROJECT]", "[LOG]").toString())
.setResource(MonitoredResource.newBuilder().build())
.putAllLabels(new HashMap<String, String>())
.addAllEntries(new ArrayList<LogEntry>())
.setPartialSuccess(true)
.setDryRun(true)
.build();
ApiFuture<WriteLogEntriesResponse> future =
loggingClient.writeLogEntriesCallable().futureCall(request);
// Do something.
WriteLogEntriesResponse response = future.get();
}
Type | Description |
UnaryCallable<WriteLogEntriesRequest,WriteLogEntriesResponse> |