Cloud Logging V2 API - Class Google::Cloud::Logging::V2::LoggingService::Client (v0.8.0)

Stay organized with collections Save and categorize content based on your preferences.

Reference documentation and code samples for the Cloud Logging V2 API class Google::Cloud::Logging::V2::LoggingService::Client.

Client for the LoggingService service.

Service for ingesting and querying logs.

Inherits

  • Object

Methods

.configure

def self.configure() { |config| ... } -> Client::Configuration

Configure the LoggingService Client class.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter
Example
# Modify the configuration for all LoggingService clients
::Google::Cloud::Logging::V2::LoggingService::Client.configure do |config|
  config.timeout = 10.0
end

#configure

def configure() { |config| ... } -> Client::Configuration

Configure the LoggingService Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on Client.configure.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter

#delete_log

def delete_log(request, options = nil) -> ::Google::Protobuf::Empty
def delete_log(log_name: nil) -> ::Google::Protobuf::Empty

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.

Overloads
def delete_log(request, options = nil) -> ::Google::Protobuf::Empty
Pass arguments to delete_log via a request object, either of type DeleteLogRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Logging::V2::DeleteLogRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def delete_log(log_name: nil) -> ::Google::Protobuf::Empty
Pass arguments to delete_log via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • log_name (::String) — 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/123/logs/cloudaudit.googleapis.com%2Factivity".

    For more information about log names, see LogEntry.

Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/logging/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Logging::V2::LoggingService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Logging::V2::DeleteLogRequest.new

# Call the delete_log method.
result = client.delete_log request

# The returned object is of type Google::Protobuf::Empty.
p result

#initialize

def initialize() { |config| ... } -> Client

Create a new LoggingService client object.

Yields
  • (config) — Configure the LoggingService client.
Yield Parameter
Returns
  • (Client) — a new instance of Client
Example
# Create a client using the default configuration
client = ::Google::Cloud::Logging::V2::LoggingService::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Logging::V2::LoggingService::Client.new do |config|
  config.timeout = 10.0
end

#list_log_entries

def list_log_entries(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Logging::V2::LogEntry>
def list_log_entries(resource_names: nil, filter: nil, order_by: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Logging::V2::LogEntry>

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.

Overloads
def list_log_entries(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Logging::V2::LogEntry>
Pass arguments to list_log_entries via a request object, either of type Google::Cloud::Logging::V2::ListLogEntriesRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Logging::V2::ListLogEntriesRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def list_log_entries(resource_names: nil, filter: nil, order_by: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Logging::V2::LogEntry>
Pass arguments to list_log_entries via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • resource_names (::Array<::String>) — 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]

    May alternatively be one or more views:

    • projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
    • organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
    • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
    • folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]

    Projects listed in the project_ids field are added to this list.

  • 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 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.
  • order_by (::String) — 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.
  • page_size (::Integer) — Optional. The maximum number of results to return from this request. Default is 50. If the value is negative or exceeds 1000, the request is rejected. The presence of next_page_token in the response indicates that more results might be available.
  • page_token (::String) — Optional. If present, then retrieve the next batch of results from the preceding call to this method. page_token must be the value of next_page_token from the previous response. The values of other method parameters should be identical to those in the previous call.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Returns
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/logging/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Logging::V2::LoggingService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Logging::V2::ListLogEntriesRequest.new

# Call the list_log_entries method.
result = client.list_log_entries request

# The returned object is of type Gapic::PagedEnumerable. You can
# iterate over all elements by calling #each, and the enumerable
# will lazily make API calls to fetch subsequent pages. Other
# methods are also available for managing paging directly.
result.each do |response|
  # Each element is of type ::Google::Cloud::Logging::V2::LogEntry.
  p response
end

#list_logs

def list_logs(request, options = nil) -> ::Google::Cloud::Logging::V2::ListLogsResponse
def list_logs(parent: nil, page_size: nil, page_token: nil, resource_names: nil) -> ::Google::Cloud::Logging::V2::ListLogsResponse

Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.

Overloads
def list_logs(request, options = nil) -> ::Google::Cloud::Logging::V2::ListLogsResponse
Pass arguments to list_logs via a request object, either of type Google::Cloud::Logging::V2::ListLogsRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Logging::V2::ListLogsRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def list_logs(parent: nil, page_size: nil, page_token: nil, resource_names: nil) -> ::Google::Cloud::Logging::V2::ListLogsResponse
Pass arguments to list_logs via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • parent (::String) —

    Required. The resource name that owns the logs:

    • projects/[PROJECT_ID]
    • organizations/[ORGANIZATION_ID]
    • billingAccounts/[BILLING_ACCOUNT_ID]
    • folders/[FOLDER_ID]
  • page_size (::Integer) — Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.
  • page_token (::String) — Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.
  • resource_names (::Array<::String>) —

    Optional. The resource name that owns the logs:

    • projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
    • organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
    • billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]
    • folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]

    To support legacy queries, it could also be:

    • projects/[PROJECT_ID]
    • organizations/[ORGANIZATION_ID]
    • billingAccounts/[BILLING_ACCOUNT_ID]
    • folders/[FOLDER_ID]
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/logging/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Logging::V2::LoggingService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Logging::V2::ListLogsRequest.new

# Call the list_logs method.
result = client.list_logs request

# The returned object is of type Google::Cloud::Logging::V2::ListLogsResponse.
p result

#list_monitored_resource_descriptors

def list_monitored_resource_descriptors(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Api::MonitoredResourceDescriptor>
def list_monitored_resource_descriptors(page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Api::MonitoredResourceDescriptor>

Lists the descriptors for monitored resource types used by Logging.

Overloads
def list_monitored_resource_descriptors(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Api::MonitoredResourceDescriptor>
Pass arguments to list_monitored_resource_descriptors via a request object, either of type Google::Cloud::Logging::V2::ListMonitoredResourceDescriptorsRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Logging::V2::ListMonitoredResourceDescriptorsRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def list_monitored_resource_descriptors(page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Google::Api::MonitoredResourceDescriptor>
Pass arguments to list_monitored_resource_descriptors via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • page_size (::Integer) — Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of nextPageToken in the response indicates that more results might be available.
  • page_token (::String) — Optional. If present, then retrieve the next batch of results from the preceding call to this method. pageToken must be the value of nextPageToken from the previous response. The values of other method parameters should be identical to those in the previous call.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Returns
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/logging/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Logging::V2::LoggingService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Logging::V2::ListMonitoredResourceDescriptorsRequest.new

# Call the list_monitored_resource_descriptors method.
result = client.list_monitored_resource_descriptors request

# The returned object is of type Gapic::PagedEnumerable. You can
# iterate over all elements by calling #each, and the enumerable
# will lazily make API calls to fetch subsequent pages. Other
# methods are also available for managing paging directly.
result.each do |response|
  # Each element is of type ::Google::Api::MonitoredResourceDescriptor.
  p response
end

#tail_log_entries

def tail_log_entries(request, options = nil) { |response, operation| ... } -> ::Enumerable<::Google::Cloud::Logging::V2::TailLogEntriesResponse>

Streaming read of log entries as they are ingested. Until the stream is terminated, it will continue reading logs.

Parameters
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/logging/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Logging::V2::LoggingService::Client.new

# Create an input stream
input = Gapic::StreamInput.new

# Call the tail_log_entries method to start streaming.
output = client.tail_log_entries input

# Send requests on the stream. For each request, pass in keyword
# arguments to set fields. Be sure to close the stream when done.
input << Google::Cloud::Logging::V2::TailLogEntriesRequest.new
input << Google::Cloud::Logging::V2::TailLogEntriesRequest.new
input.close

# Handle streamed responses. These may be interleaved with inputs.
# Each response is of type ::Google::Cloud::Logging::V2::TailLogEntriesResponse.
output.each do |response|
  p response
end

#write_log_entries

def write_log_entries(request, options = nil) -> ::Google::Cloud::Logging::V2::WriteLogEntriesResponse
def write_log_entries(log_name: nil, resource: nil, labels: nil, entries: nil, partial_success: nil, dry_run: nil) -> ::Google::Cloud::Logging::V2::WriteLogEntriesResponse

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)

Overloads
def write_log_entries(request, options = nil) -> ::Google::Cloud::Logging::V2::WriteLogEntriesResponse
Pass arguments to write_log_entries via a request object, either of type WriteLogEntriesRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Logging::V2::WriteLogEntriesRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def write_log_entries(log_name: nil, resource: nil, labels: nil, entries: nil, partial_success: nil, dry_run: nil) -> ::Google::Cloud::Logging::V2::WriteLogEntriesResponse
Pass arguments to write_log_entries via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • log_name (::String) — 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"
    "organizations/123/logs/cloudaudit.googleapis.com%2Factivity"
    

    The permission logging.logEntries.create is needed on each project, organization, billing account, or folder that is receiving new log entries, whether the resource is specified in logName or in an individual log entry.

  • resource (::Google::Api::MonitoredResource, ::Hash) — 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.

  • labels (::Hash{::String => ::String}) — 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.
  • entries (::Array<::Google::Cloud::Logging::V2::LogEntry, ::Hash>) — 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 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 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 in the past or more than 24 hours in the future will not be available when calling entries.list. However, those log entries can still be exported with LogSinks.

    To improve throughput and to avoid exceeding the quota limit 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.

  • partial_success (::Boolean) — Optional. Whether valid entries should be written even if some other entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not written, then the response status is the error associated with one of the failed entries and the response includes error details keyed by the entries' zero-based index in the entries.write method.
  • dry_run (::Boolean) — Optional. If true, the request should expect normal response, but the entries won't be persisted nor exported. Useful for checking whether the logging API endpoints are working properly before sending valuable data.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/logging/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Logging::V2::LoggingService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Logging::V2::WriteLogEntriesRequest.new

# Call the write_log_entries method.
result = client.write_log_entries request

# The returned object is of type Google::Cloud::Logging::V2::WriteLogEntriesResponse.
p result