Constructor

LoggingServiceV2Client

new LoggingServiceV2Client(options)

Construct an instance of LoggingServiceV2Client.

Parameter

options

Optional

object

The configuration object. See the subsequent parameters for more details.

Values in options have the following properties:

Parameter

credentials

Optional

object

Credentials object.

credentials.client_email

Optional

string

credentials.private_key

Optional

string

email

Optional

string

Account email address. Required when usaing a .pem or .p12 keyFilename.

keyFilename

Optional

string

Full path to the a .json, .pem, or .p12 key downloaded from the Google Developers Console. If you provide a path to a JSON file, the projectId option above is not necessary. NOTE: .pem and .p12 require you to specify options.email as well.

port

Optional

number

The port on which to connect to the remote host.

projectId

Optional

string

The project ID from the Google Developer's Console, e.g. 'grape-spaceship-123'. We will also check the environment variable GCLOUD_PROJECT for your project ID. If your app is running in an environment which supports Application Default Credentials, your project ID will be detected automatically.

promise

Optional

function()

Custom promise module to use instead of native Promises.

servicePath

Optional

string

The domain name of the API remote host.

Properties

port

static

The port for this API service.

scopes

static

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static

The DNS address for this API service.

Methods

deleteLog

deleteLog(request, options, callback) returns Promise

Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

logName

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/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error)

The function which will be called with the result of the API call.

Returns

Promise 

  • The promise which resolves when API call finishes. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const logging = require('@google-cloud/logging');

var client = new logging.v2.LoggingServiceV2Client({
  // optional auth parameters.
});

var formattedLogName = client.logPath('[PROJECT]', '[LOG]');
client.deleteLog({logName: formattedLogName}).catch(err => {
  console.error(err);
});

getProjectId

getProjectId(callback)

Return the project ID used by this class.

Parameter

callback

function(Error, string)

the callback to be called with the current project Id.

listLogEntries

listLogEntries(request, options, callback) returns Promise

Lists log entries. Use this method to retrieve log entries from Stackdriver Logging. For ways to export log entries, see Exporting Logs.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

resourceNames

Array of 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]"

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

projectIds

Array of string

Deprecated. Use resource_names instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: "my-project-1A". If present, these project identifiers are converted to resource name format and added to the list of resources in resource_names.

filter

Optional

string

Optional. A filter that chooses which log entries to return. See Advanced Logs 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

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.

pageSize

Optional

number

The maximum number of resources contained in the underlying API response. If page streaming is performed per-resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Array, nullable Object, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is Array of LogEntry.

When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListLogEntriesResponse.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is Array of LogEntry.

    When autoPaginate: false is specified through options, the array has three elements. The first element is Array of LogEntry in a single response. The second element is the next request object if the response indicates the next page exists, or null. The third element is an object representing ListLogEntriesResponse.

    The promise has a method named "cancel" which cancels the ongoing API call.

Example

const logging = require('@google-cloud/logging');

var client = new logging.v2.LoggingServiceV2Client({
  // optional auth parameters.
});

// Iterate over all elements.
var resourceNames = [];

client.listLogEntries({resourceNames: resourceNames})
  .then(responses => {
    var resources = responses[0];
    for (let i = 0; i < resources.length; i += 1) {
      // doThingsWith(resources[i])
    }
  })
  .catch(err => {
    console.error(err);
  });

// Or obtain the paged response.
var resourceNames = [];


var options = {autoPaginate: false};
var callback = responses => {
  // The actual resources in a response.
  var resources = responses[0];
  // The next request if the response shows that there are more responses.
  var nextRequest = responses[1];
  // The actual response object, if necessary.
  // var rawResponse = responses[2];
  for (let i = 0; i < resources.length; i += 1) {
    // doThingsWith(resources[i]);
  }
  if (nextRequest) {
    // Fetch the next page.
    return client.listLogEntries(nextRequest, options).then(callback);
  }
}
client.listLogEntries({resourceNames: resourceNames}, options)
  .then(callback)
  .catch(err => {
    console.error(err);
  });

listLogEntriesStream

listLogEntriesStream(request, options) returns Stream

Equivalent to listLogEntries, but returns a NodeJS Stream object.

This fetches the paged responses for listLogEntries continuously and invokes the callback registered for 'data' event for each element in the responses.

The returned object has 'end' method when no more elements are required.

autoPaginate option will be ignored.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

resourceNames

Array of 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]"

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

projectIds

Array of string

Deprecated. Use resource_names instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: "my-project-1A". If present, these project identifiers are converted to resource name format and added to the list of resources in resource_names.

filter

Optional

string

Optional. A filter that chooses which log entries to return. See Advanced Logs 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

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.

pageSize

Optional

number

The maximum number of resources contained in the underlying API response. If page streaming is performed per-resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

See also
https://nodejs.org/api/stream.html
Returns

Stream 

An object stream which emits an object representing LogEntry on 'data' event.

Example

const logging = require('@google-cloud/logging');

var client = new logging.v2.LoggingServiceV2Client({
  // optional auth parameters.
});

var resourceNames = [];
client.listLogEntriesStream({resourceNames: resourceNames})
  .on('data', element => {
    // doThingsWith(element)
  }).on('error', err => {
    console.log(err);
  });

listLogs

listLogs(request, options, callback) returns Promise

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

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

parent

string

Required. The resource name that owns the logs:

  "projects/[PROJECT_ID]"
  "organizations/[ORGANIZATION_ID]"
  "billingAccounts/[BILLING_ACCOUNT_ID]"
  "folders/[FOLDER_ID]"

pageSize

Optional

number

The maximum number of resources contained in the underlying API response. If page streaming is performed per-resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Array, nullable Object, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is Array of string.

When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListLogsResponse.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is Array of string.

    When autoPaginate: false is specified through options, the array has three elements. The first element is Array of string in a single response. The second element is the next request object if the response indicates the next page exists, or null. The third element is an object representing ListLogsResponse.

    The promise has a method named "cancel" which cancels the ongoing API call.

Example

const logging = require('@google-cloud/logging');

var client = new logging.v2.LoggingServiceV2Client({
  // optional auth parameters.
});

// Iterate over all elements.
var formattedParent = client.projectPath('[PROJECT]');

client.listLogs({parent: formattedParent})
  .then(responses => {
    var resources = responses[0];
    for (let i = 0; i < resources.length; i += 1) {
      // doThingsWith(resources[i])
    }
  })
  .catch(err => {
    console.error(err);
  });

// Or obtain the paged response.
var formattedParent = client.projectPath('[PROJECT]');


var options = {autoPaginate: false};
var callback = responses => {
  // The actual resources in a response.
  var resources = responses[0];
  // The next request if the response shows that there are more responses.
  var nextRequest = responses[1];
  // The actual response object, if necessary.
  // var rawResponse = responses[2];
  for (let i = 0; i < resources.length; i += 1) {
    // doThingsWith(resources[i]);
  }
  if (nextRequest) {
    // Fetch the next page.
    return client.listLogs(nextRequest, options).then(callback);
  }
}
client.listLogs({parent: formattedParent}, options)
  .then(callback)
  .catch(err => {
    console.error(err);
  });

listLogsStream

listLogsStream(request, options) returns Stream

Equivalent to listLogs, but returns a NodeJS Stream object.

This fetches the paged responses for listLogs continuously and invokes the callback registered for 'data' event for each element in the responses.

The returned object has 'end' method when no more elements are required.

autoPaginate option will be ignored.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

parent

string

Required. The resource name that owns the logs:

  "projects/[PROJECT_ID]"
  "organizations/[ORGANIZATION_ID]"
  "billingAccounts/[BILLING_ACCOUNT_ID]"
  "folders/[FOLDER_ID]"

pageSize

Optional

number

The maximum number of resources contained in the underlying API response. If page streaming is performed per-resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

See also
https://nodejs.org/api/stream.html
Returns

Stream 

An object stream which emits a string on 'data' event.

Example

const logging = require('@google-cloud/logging');

var client = new logging.v2.LoggingServiceV2Client({
  // optional auth parameters.
});

var formattedParent = client.projectPath('[PROJECT]');
client.listLogsStream({parent: formattedParent})
  .on('data', element => {
    // doThingsWith(element)
  }).on('error', err => {
    console.log(err);
  });

listMonitoredResourceDescriptors

listMonitoredResourceDescriptors(request, options, callback) returns Promise

Lists the descriptors for monitored resource types used by Stackdriver Logging.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

pageSize

Optional

number

The maximum number of resources contained in the underlying API response. If page streaming is performed per-resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Array, nullable Object, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is Array of MonitoredResourceDescriptor.

When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListMonitoredResourceDescriptorsResponse.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is Array of MonitoredResourceDescriptor.

    When autoPaginate: false is specified through options, the array has three elements. The first element is Array of MonitoredResourceDescriptor in a single response. The second element is the next request object if the response indicates the next page exists, or null. The third element is an object representing ListMonitoredResourceDescriptorsResponse.

    The promise has a method named "cancel" which cancels the ongoing API call.

Example

const logging = require('@google-cloud/logging');

var client = new logging.v2.LoggingServiceV2Client({
  // optional auth parameters.
});

// Iterate over all elements.
client.listMonitoredResourceDescriptors({})
  .then(responses => {
    var resources = responses[0];
    for (let i = 0; i < resources.length; i += 1) {
      // doThingsWith(resources[i])
    }
  })
  .catch(err => {
    console.error(err);
  });

// Or obtain the paged response.

var options = {autoPaginate: false};
var callback = responses => {
  // The actual resources in a response.
  var resources = responses[0];
  // The next request if the response shows that there are more responses.
  var nextRequest = responses[1];
  // The actual response object, if necessary.
  // var rawResponse = responses[2];
  for (let i = 0; i < resources.length; i += 1) {
    // doThingsWith(resources[i]);
  }
  if (nextRequest) {
    // Fetch the next page.
    return client.listMonitoredResourceDescriptors(nextRequest, options).then(callback);
  }
}
client.listMonitoredResourceDescriptors({}, options)
  .then(callback)
  .catch(err => {
    console.error(err);
  });

listMonitoredResourceDescriptorsStream

listMonitoredResourceDescriptorsStream(request, options) returns Stream

Equivalent to listMonitoredResourceDescriptors, but returns a NodeJS Stream object.

This fetches the paged responses for listMonitoredResourceDescriptors continuously and invokes the callback registered for 'data' event for each element in the responses.

The returned object has 'end' method when no more elements are required.

autoPaginate option will be ignored.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

pageSize

Optional

number

The maximum number of resources contained in the underlying API response. If page streaming is performed per-resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

See also
https://nodejs.org/api/stream.html
Returns

Stream 

An object stream which emits an object representing MonitoredResourceDescriptor on 'data' event.

Example

const logging = require('@google-cloud/logging');

var client = new logging.v2.LoggingServiceV2Client({
  // optional auth parameters.
});


client.listMonitoredResourceDescriptorsStream({})
  .on('data', element => {
    // doThingsWith(element)
  }).on('error', err => {
    console.log(err);
  });

logPath

logPath(project, log) returns String

Return a fully-qualified log resource name string.

Parameter

project

String

log

String

Returns

String 

matchLogFromLogName

matchLogFromLogName(logName) returns String

Parse the logName from a log resource.

Parameter

logName

String

A fully-qualified path representing a log resources.

Returns

String 

  • A string representing the log.

matchProjectFromLogName

matchProjectFromLogName(logName) returns String

Parse the logName from a log resource.

Parameter

logName

String

A fully-qualified path representing a log resources.

Returns

String 

  • A string representing the project.

matchProjectFromProjectName

matchProjectFromProjectName(projectName) returns String

Parse the projectName from a project resource.

Parameter

projectName

String

A fully-qualified path representing a project resources.

Returns

String 

  • A string representing the project.

projectPath

projectPath(project) returns String

Return a fully-qualified project resource name string.

Parameter

project

String

Returns

String 

writeLogEntries

writeLogEntries(request, options, callback) returns Promise

Log entry resources

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.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

entries

Array of Object

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 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 might be discarded. Discarding does not return an error.

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.

This object should have the same structure as LogEntry

logName

Optional

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" or "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity". For more information about log names, see LogEntry.

resource

Optional

Object

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.

This object should have the same structure as MonitoredResource

labels

Optional

Object with string properties

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.

partialSuccess

Optional

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.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing WriteLogEntriesResponse.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is an object representing WriteLogEntriesResponse. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const logging = require('@google-cloud/logging');

var client = new logging.v2.LoggingServiceV2Client({
  // optional auth parameters.
});

var entries = [];
client.writeLogEntries({entries: entries})
  .then(responses => {
    var response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });