Cloud Logging API - Class Google::Cloud::Logging::Sink (v2.4.0)

Reference documentation and code samples for the Cloud Logging API class Google::Cloud::Logging::Sink.

Sink

Used to export log entries outside Stackdriver Logging. When you create a sink, new log entries are exported. Stackdriver Logging does not send previously-ingested log entries to the sink's destination.

A logs filter controls which log entries are exported.

Before creating the sink, ensure that you have granted the sink's unique writer identity permission to write logs to the destination. See Destination permissions.

You can retrieve an existing sink with Project#sink.

Inherits

  • Object

Example

require "google/cloud/storage"

storage = Google::Cloud::Storage.new
bucket = storage.create_bucket "my-logs-bucket"

# Grant owner permission to Stackdriver Logging service
email = "cloud-logs@google.com"
bucket.acl.add_owner "group-#{email}"

require "google/cloud/logging"

logging = Google::Cloud::Logging.new
sink = logging.create_sink "my-sink",
                           "storage.googleapis.com/#{bucket.id}"

Methods

#delete

def delete() -> Boolean

Permanently deletes the logs-based sink.

Returns
  • (Boolean) — Returns true if the sink was deleted.
Example
require "google/cloud/logging"

logging = Google::Cloud::Logging.new
sink = logging.sink "severe_errors"
sink.delete

#destination

def destination()

The export destination. See Properties of Sinks.

#destination=

def destination=(destination)

Updates the export destination. See Properties of Sinks.

#end_at

def end_at()
Aliases

Deprecated. Time at which this sink will stop exporting log entries. If this value is present, then log entries are exported only if the log entry's timestamp is less than end_at. Optional.

#end_at=

def end_at=(_new_end_at)
Aliases

Deprecated. Sets the time at which this sink will stop exporting log entries. If this value is present, then log entries are exported only if the log entry's timestamp is less than end_at. Optional.

#end_time

def end_time()
Alias Of: #end_at

Deprecated. Time at which this sink will stop exporting log entries. If this value is present, then log entries are exported only if the log entry's timestamp is less than end_at. Optional.

#end_time=

def end_time=(_new_end_at)
Alias Of: #end_at=

Deprecated. Sets the time at which this sink will stop exporting log entries. If this value is present, then log entries are exported only if the log entry's timestamp is less than end_at. Optional.

#filter

def filter()

An advanced logs filter that defines the log entries to be exported. The filter must be consistent with the log entry format designed by the version parameter, regardless of the format of the log entry that was originally written to Stackdriver Logging.

#filter=

def filter=(filter)

Updates the advanced logs filter that defines the log entries to be exported. The filter must be consistent with the log entry format designed by the version parameter, regardless of the format of the log entry that was originally written to Stackdriver Logging.

#name

def name()

The client-assigned sink identifier. Sink identifiers are limited to 1000 characters and can include only the following characters: A-Z, a-z, 0-9, and the special characters _-..

#refresh!

def refresh!()
Alias Of: #reload!

Reloads the logs-based sink with current data from the Logging service.

#reload!

def reload!()
Aliases

Reloads the logs-based sink with current data from the Logging service.

#save

def save(unique_writer_identity: nil)

Updates the logs-based sink.

Parameter
  • unique_writer_identity (Boolean) (defaults to: nil) — Whether the sink will have a dedicated service account returned in the sink's writer_identity. Set this field to be true to export logs from one project to a different project. This field is ignored for non-project sinks (e.g. organization sinks) because those sinks are required to have dedicated service accounts. Optional.
Example
require "google/cloud/logging"

logging = Google::Cloud::Logging.new
sink = logging.sink "severe_errors"
sink.filter = "logName:syslog AND severity>=ERROR"
sink.save

#start_at

def start_at()
Aliases

Deprecated. The time at which this sink will begin exporting log entries. If this value is present, then log entries are exported only if start_at is less than the log entry's timestamp. Optional.

#start_at=

def start_at=(_new_start_at)
Aliases

Deprecated. Sets the time at which this sink will begin exporting log entries. If this value is present, then log entries are exported only if start_at is less than the log entry's timestamp. Optional.

#start_time

def start_time()
Alias Of: #start_at

Deprecated. The time at which this sink will begin exporting log entries. If this value is present, then log entries are exported only if start_at is less than the log entry's timestamp. Optional.

#start_time=

def start_time=(_new_start_at)
Alias Of: #start_at=

Deprecated. Sets the time at which this sink will begin exporting log entries. If this value is present, then log entries are exported only if start_at is less than the log entry's timestamp. Optional.

#unspecified?

def unspecified?() -> Boolean

Helper to determine if the sink's version is VERSION_FORMAT_UNSPECIFIED.

Returns
  • (Boolean)

#v1?

def v1?() -> Boolean

Helper to determine if the sink's version is V1.

Returns
  • (Boolean)

#v2?

def v2?() -> Boolean

Helper to determine if the sink's version is V2.

Returns
  • (Boolean)

#version

def version()

Deprecated. The log entry version used when exporting log entries from this sink. This version does not have to correspond to the version of the log entry when it was written to Stackdriver Logging.

#version=

def version=(_version)

Deprecated. Updates the log entry version used when exporting log entries from this sink. This version does not have to correspond to the version of the log entry when it was written to Stackdriver Logging. Accepted values are :VERSION_FORMAT_UNSPECIFIED, :V2, and :V1.

#writer_identity

def writer_identity()

An IAM identity (a service account or group) that will write exported log entries to the destination on behalf of Stackdriver Logging. You must grant this identity write-access to the destination. Consult the destination service's documentation to determine the exact role that must be granted.