Stackdriver Logging Client - Class LoggingClient (2.0.0-RC1)

Reference documentation and code samples for the Stackdriver Logging Client class LoggingClient.

Google Stackdriver Logging allows you to store, search, analyze, monitor, and alert on log data and events from Google Cloud Platform and Amazon Web Services. Find more information at the Google Stackdriver Logging docs.

This client supports transport over REST or gRPC.

In order to enable gRPC support please make sure to install and enable the gRPC extension through PECL:

$ pecl install grpc

NOTE: Support for gRPC is currently at an Alpha quality level, meaning it is still a work in progress and is more likely to get backwards-incompatible updates.

When using gRPC in production environments, it is highly recommended that you make use of the Protobuf PHP extension for improved performance. Protobuf can be installed via PECL.

$ pecl install protobuf

Example:

use Google\Cloud\Logging\LoggingClient;

$logging = new LoggingClient();

Namespace

Google \ Cloud \ Logging

Methods

__construct

Create a Logging client.

Parameter
Name Description
config array

createSink

Parameters
Name Description
name string

The name of the sink.

destination string

The export destination. Please see Exporting Logs With Sinks for more information and examples.

options array

Configuration options.

↳ filter string

An advanced logs filter.

Returns
Type Description
Sink

sink

Lazily instantiates a sink. There are no network requests made at this point. To see the operations that can be performed on a sink please see Sink.

Example:

$sink = $logging->sink('my-sink');
echo $sink->name();
Parameter
Name Description
name string

The name of the sink.

Returns
Type Description
Sink

sinks

Parameters
Name Description
options array

Configuration options.

↳ pageSize int

The maximum number of results to return per request.

↳ resultLimit int

Limit the number of results returned in total. Defaults to 0 (return all results).

↳ pageToken string

A previously-returned page token used to resume the loading of results from a specific point.

Returns
Type Description
Google\Cloud\Core\Iterator\ItemIterator<Sink>

createMetric

Parameters
Name Description
name string

The name of the metric.

filter string

An advanced logs filter.

options array

Configuration Options.

↳ description string

A description of the metric.

Returns
Type Description
Metric

metric

Lazily instantiates a metric. There are no network requests made at this point. To see the operations that can be performed on a metric please see Metric.

Example:

$metric = $logging->metric('my-metric');
echo $metric->name();
Parameter
Name Description
name string

The name of the metric.

Returns
Type Description
Metric

metrics

Parameters
Name Description
options array

Configuration options.

↳ pageSize int

The maximum number of results to return per request.

↳ resultLimit int

Limit the number of results returned in total. Defaults to 0 (return all results).

↳ pageToken string

A previously-returned page token used to resume the loading of results from a specific point.

Returns
Type Description
Google\Cloud\Core\Iterator\ItemIterator<Metric>

entries

Parameters
Name Description
options array

Configuration options.

↳ projectIds string[]

A list of projectIds to fetch entries from in addition to entries found in the project bound to this client.

↳ resourceNames string[]

One or more cloud resources from which to retrieve log entries. Projects listed in projectIds are added to this list. Example: "projects/my-project-1A", "projects/1234567890".

↳ filter string

An advanced logs filter.

↳ orderBy string

How the results should be sorted. Presently, the only permitted values are timestamp asc and timestamp desc. Defaults to "timestamp asc".

↳ pageSize int

The maximum number of results to return per request.

↳ resultLimit int

Limit the number of results returned in total. Defaults to 0 (return all results).

↳ pageToken string

A previously-returned page token used to resume the loading of results from a specific point.

Returns
Type Description
Google\Cloud\Core\Iterator\ItemIterator<Entry>

psrLogger

Fetches a logger which will write log entries to Stackdriver Logging and implements the PSR-3 specification.

Example:

$psrLogger = $logging->psrLogger('my-log');
// Write entries with background batching.
$psrLogger = $logging->psrLogger('my-log', [
    'batchEnabled' => true
]);
Parameters
Name Description
name string

The name of the log to write entries to.

options array

Configuration options.

↳ messageKey string

The key in the jsonPayload used to contain the logged message. Defaults to message.

↳ resource array

The monitored resource to associate log entries with. Defaults to type global.

↳ labels array

A set of user-defined (key, value) data that provides additional information about the log entry.

↳ metadataProvider MetadataProviderInterface

Defaults to An automatically chosen provider, based on detected environment settings.

↳ batchEnabled bool

Determines whether or not to use background batching. Defaults to false.

↳ debugOutput bool

Whether or not to output debug information. Please note debug output currently only applies in CLI based applications. Defaults to false. Applies only when batchEnabled is set to true.

↳ debugOutputResource resource

A resource to output debug output to. Applies only when batchEnabled is set to true.

↳ batchOptions array

A set of options for a BatchJob. Google\Cloud\Core\Batch\BatchJob::__construct() for more details. Defaults to ['batchSize' => 1000, 'callPeriod' => 2.0, 'numWorkers' => 2]. Applies only when batchEnabled is set to true. Note that this option is currently considered experimental and is subject to change.

↳ clientConfig array

Configuration options for the Logging client used to handle processing of batch items. For valid options please see LoggingClient::__construct(). Defaults to the options provided to the current client. Applies only when batchEnabled is set to true.

↳ batchRunner BatchRunner

A BatchRunner object. Mainly used for the tests to inject a mock. Defaults to a newly created BatchRunner. Applies only when batchEnabled is set to true.

↳ closureSerializer ClosureSerializerInterface

An implementation responsible for serializing closures used in the $clientConfig. This is especially important when using the batch daemon. Defaults to Google\Cloud\Core\Batch\OpisClosureSerializer if the opis/closure library is installed.

Returns
Type Description
PsrLogger

logger

Fetches a logger which will write log entries to Stackdriver Logging.

Example:

$logger = $logging->logger('my-log');
Parameters
Name Description
name string

The name of the log to write entries to.

options array

Configuration options.

↳ resource array

The monitored resource to associate log entries with. Defaults to type global.

↳ labels array

A set of user-defined (key, value) data that provides additional information about the log entry.

Returns
Type Description
Logger

static::psrBatchLogger

Create a PsrLogger with batching enabled.

Parameters
Name Description
name string

The name of the log to write entries to.

options array

Configuration options.

↳ apiEndpoint string

A hostname with optional port to use in place of the service's default endpoint.

↳ messageKey string

The key in the jsonPayload used to contain the logged message. Defaults to message.

↳ resource array

The monitored resource to associate log entries with. Defaults to type global.

↳ labels array

A set of user-defined (key, value) data that provides additional information about the log entry.

↳ metadataProvider MetadataProviderInterface

Defaults to An automatically chosen provider, based on detected environment settings.

↳ debugOutput bool

Whether or not to output debug information. Please note debug output currently only applies in CLI based applications. Defaults to false.

↳ batchOptions array

A set of options for a BatchJob. Google\Cloud\Core\Batch\BatchJob::__construct() for more details. Defaults to ['batchSize' => 1000, 'callPeriod' => 2.0, 'numWorkers' => 2].

↳ clientConfig array

Configuration options for the Logging client used to handle processing of batch items. For valid options please see LoggingClient::__construct().

↳ batchRunner BatchRunner

A BatchRunner object. Mainly used for the tests to inject a mock. Defaults to a newly created BatchRunner.

↳ closureSerializer ClosureSerializerInterface

An implementation responsible for serializing closures used in the $clientConfig. This is especially important when using the batch daemon. Defaults to Google\Cloud\Core\Batch\OpisClosureSerializer if the opis/closure library is installed.

Returns
Type Description
PsrLogger

Constants

VERSION

Value: '2.0.0-RC1'

FULL_CONTROL_SCOPE

Value: 'https://www.googleapis.com/auth/logging.admin'

READ_ONLY_SCOPE

Value: 'https://www.googleapis.com/auth/logging.read'

WRITE_ONLY_SCOPE

Value: 'https://www.googleapis.com/auth/logging.write'