LoggingServiceV2Client

v2~ LoggingServiceV2Client

Service for ingesting and querying logs.

Constructor

new LoggingServiceV2Client(optionsopt)

Construct an instance of LoggingServiceV2Client.

Parameters:
Name Type Attributes Description
options object <optional>

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

Properties
Name Type Attributes Description
credentials object <optional>

Credentials object.

Properties
Name Type Attributes Description
client_email string <optional>
private_key string <optional>
email string <optional>

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

keyFilename string <optional>

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 below is not necessary. NOTE: .pem and .p12 require you to specify options.email as well.

port number <optional>

The port on which to connect to the remote host.

projectId string <optional>

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 function <optional>

Custom promise module to use instead of native Promises.

apiEndpoint string <optional>

The domain name of the API remote host.

Source:

Members

(static) apiEndpoint

The DNS address for this API service - same as servicePath(), exists for compatibility reasons.

Source:

(static) port

The port for this API service.

Source:

(static) scopes

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

Source:

(static) servicePath

The DNS address for this API service.

Source:

Methods

billingLogPath(billingAccount, log) → {String}

Return a fully-qualified billing_log resource name string.

Parameters:
Name Type Description
billingAccount String
log String
Source:

billingPath(billingAccount) → {String}

Return a fully-qualified billing resource name string.

Parameters:
Name Type Description
billingAccount String
Source:

deleteLog(request, optionsopt, callbackopt) → {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.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Description
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 Object <optional>

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

callback function <optional>

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

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

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

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

folderLogPath(folder, log) → {String}

Return a fully-qualified folder_log resource name string.

Parameters:
Name Type Description
folder String
log String
Source:

folderPath(folder) → {String}

Return a fully-qualified folder resource name string.

Parameters:
Name Type Description
folder String
Source:

getProjectId(callback)

Return the project ID used by this class.

Parameters:
Name Type Description
callback function

the callback to be called with the current project Id.

Source:

listLogEntries(request, optionsopt, callbackopt) → {Promise}

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

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
resourceNames 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]"

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

projectIds Array.<string> <optional>

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 string <optional>

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 string <optional>

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 number <optional>

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 Object <optional>

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

callback function <optional>

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.

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

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

// Iterate over all elements.
const formattedResourceNames = [];

client.listLogEntries({resourceNames: formattedResourceNames})
  .then(responses => {
    const resources = responses[0];
    for (const resource of resources) {
      // doThingsWith(resource)
    }
  })
  .catch(err => {
    console.error(err);
  });

// Or obtain the paged response.
const formattedResourceNames = [];


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

listLogEntriesStream(request, optionsopt) → {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.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
resourceNames 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]"

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

projectIds Array.<string> <optional>

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 string <optional>

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 string <optional>

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 number <optional>

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 Object <optional>

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

Source:
See:
Example
const logging = require('@google-cloud/logging');

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

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

listLogs(request, optionsopt, callbackopt) → {Promise}

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

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
parent string

Required. The resource name that owns the logs:

  "projects/[PROJECT_ID]"
  "organizations/[ORGANIZATION_ID]"
  "billingAccounts/[BILLING_ACCOUNT_ID]"
  "folders/[FOLDER_ID]"
pageSize number <optional>

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 Object <optional>

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

callback function <optional>

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.

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

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

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

client.listLogs({parent: formattedParent})
  .then(responses => {
    const resources = responses[0];
    for (const resource of resources) {
      // doThingsWith(resource)
    }
  })
  .catch(err => {
    console.error(err);
  });

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


const options = {autoPaginate: false};
const callback = responses => {
  // The actual resources in a response.
  const resources = responses[0];
  // The next request if the response shows that there are more responses.
  const nextRequest = responses[1];
  // The actual response object, if necessary.
  // const rawResponse = responses[2];
  for (const resource of resources) {
    // doThingsWith(resource);
  }
  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(request, optionsopt) → {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.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
parent string

Required. The resource name that owns the logs:

  "projects/[PROJECT_ID]"
  "organizations/[ORGANIZATION_ID]"
  "billingAccounts/[BILLING_ACCOUNT_ID]"
  "folders/[FOLDER_ID]"
pageSize number <optional>

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 Object <optional>

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

Source:
See:
Example
const logging = require('@google-cloud/logging');

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

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

listMonitoredResourceDescriptors(request, optionsopt, callbackopt) → {Promise}

Lists the descriptors for monitored resource types used by Logging.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
pageSize number <optional>

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 Object <optional>

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

callback function <optional>

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.

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

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

// Iterate over all elements.
client.listMonitoredResourceDescriptors({})
  .then(responses => {
    const resources = responses[0];
    for (const resource of resources) {
      // doThingsWith(resource)
    }
  })
  .catch(err => {
    console.error(err);
  });

// Or obtain the paged response.

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

listMonitoredResourceDescriptorsStream(request, optionsopt) → {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.

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
pageSize number <optional>

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 Object <optional>

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

Source:
See:
Example
const logging = require('@google-cloud/logging');

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


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

logPath(project, log) → {String}

Return a fully-qualified log resource name string.

Parameters:
Name Type Description
project String
log String
Source:

matchBillingAccountFromBillingLogName(billingLogName) → {String}

Parse the billingLogName from a billing_log resource.

Parameters:
Name Type Description
billingLogName String

A fully-qualified path representing a billing_log resources.

Source:

matchBillingAccountFromBillingName(billingName) → {String}

Parse the billingName from a billing resource.

Parameters:
Name Type Description
billingName String

A fully-qualified path representing a billing resources.

Source:

matchFolderFromFolderLogName(folderLogName) → {String}

Parse the folderLogName from a folder_log resource.

Parameters:
Name Type Description
folderLogName String

A fully-qualified path representing a folder_log resources.

Source:

matchFolderFromFolderName(folderName) → {String}

Parse the folderName from a folder resource.

Parameters:
Name Type Description
folderName String

A fully-qualified path representing a folder resources.

Source:

matchLogFromBillingLogName(billingLogName) → {String}

Parse the billingLogName from a billing_log resource.

Parameters:
Name Type Description
billingLogName String

A fully-qualified path representing a billing_log resources.

Source:

matchLogFromFolderLogName(folderLogName) → {String}

Parse the folderLogName from a folder_log resource.

Parameters:
Name Type Description
folderLogName String

A fully-qualified path representing a folder_log resources.

Source:

matchLogFromLogName(logName) → {String}

Parse the logName from a log resource.

Parameters:
Name Type Description
logName String

A fully-qualified path representing a log resources.

Source:

matchLogFromOrganizationLogName(organizationLogName) → {String}

Parse the organizationLogName from a organization_log resource.

Parameters:
Name Type Description
organizationLogName String

A fully-qualified path representing a organization_log resources.

Source:

matchOrganizationFromOrganizationLogName(organizationLogName) → {String}

Parse the organizationLogName from a organization_log resource.

Parameters:
Name Type Description
organizationLogName String

A fully-qualified path representing a organization_log resources.

Source:

matchOrganizationFromOrganizationName(organizationName) → {String}

Parse the organizationName from a organization resource.

Parameters:
Name Type Description
organizationName String

A fully-qualified path representing a organization resources.

Source:

matchProjectFromLogName(logName) → {String}

Parse the logName from a log resource.

Parameters:
Name Type Description
logName String

A fully-qualified path representing a log resources.

Source:

matchProjectFromProjectName(projectName) → {String}

Parse the projectName from a project resource.

Parameters:
Name Type Description
projectName String

A fully-qualified path representing a project resources.

Source:

organizationLogPath(organization, log) → {String}

Return a fully-qualified organization_log resource name string.

Parameters:
Name Type Description
organization String
log String
Source:

organizationPath(organization) → {String}

Return a fully-qualified organization resource name string.

Parameters:
Name Type Description
organization String
Source:

projectPath(project) → {String}

Return a fully-qualified project resource name string.

Parameters:
Name Type Description
project String
Source:

writeLogEntries(request, optionsopt, callbackopt) → {Promise}

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)

Parameters:
Name Type Attributes Description
request Object

The request object that will be sent.

Properties
Name Type Attributes Description
entries Array.<Object>

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.

This object should have the same structure as LogEntry

logName string <optional>

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/1234567890/logs/cloudresourcemanager.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 Object <optional>

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 Object.<string, string> <optional>

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 boolean <optional>

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.

dryRun boolean <optional>

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.

options Object <optional>

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

callback function <optional>

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

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

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

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

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