Constructor

Logging

new Logging(options)

Parameter

options

Optional

ClientConfig

Configuration options.

See also

What is Stackdriver Logging?

Introduction to the Stackdriver Logging API

Logging to Stackdriver from Bunyan

Logging to Stackdriver from Winston

Examples

Import the client library

const {Logging} = require('@google-cloud/logging');
<caption>Create a client that uses <a
href="https://cloud.google.com/docs/authentication/production#providing_credentials_to_your_application">Application
Default Credentials (ADC)</a>:</caption> const logging = new Logging();
<caption>Create a client with <a
href="https://cloud.google.com/docs/authentication/production#obtaining_and_providing_service_account_credentials_manually">explicit
credentials</a>:</caption> const logging = new Logging({ projectId:
'your-project-id', keyFilename: '/path/to/keyfile.json'
});

Full quickstart example:

async function quickstart(
  projectId = 'YOUR_PROJECT_ID', // Your Google Cloud Platform project ID
  logName = 'my-log' // The name of the log to write to
) {
  // Imports the Google Cloud client library
  const {Logging} = require('@google-cloud/logging');

  // Creates a client
  const logging = new Logging({projectId});

  // Selects the log to write to
  const log = logging.log(logName);

  // The data to write to the log
  const text = 'Hello, world!';

  // The metadata associated with the entry
  const metadata = {
    resource: {type: 'global'},
  };

  // Prepares a log entry
  const entry = log.entry(metadata, text);

  // Writes the log entry
  await log.write(entry);
  console.log(`Logged: ${text}`);
}

Methods

entry

entry(resource, data) returns Entry

Create an entry object.

Note that using this method will not itself make any API requests. You will use the object returned in other API calls, such as Log#write.

Parameter

resource

Optional

(nullable object or nullable string)

See a Monitored Resource.

data

(object or string)

The data to use as the value for this log entry.

See also

LogEntry JSON representation

Returns

Entry 

Example

const {Logging} = require('@google-cloud/logging');
const logging = new Logging();

const resource = {
  type: 'gce_instance',
  labels: {
    zone: 'global',
    instance_id: '3'
  }
};

const entry = logging.entry(resource, {
  delegate: 'my_username'
});

entry.toJSON();
// {
//   resource: {
//     type: 'gce_instance',
//     labels: {
//       zone: 'global',
//       instance_id: '3'
//     }
//   },
//   jsonPayload: {
//     delegate: 'my_username'
//   }
// }

getEntriesStream

getEntriesStream(query) returns ReadableStream

List the Entry objects in your logs as a readable object stream.

Parameter

query

Optional

GetEntriesRequest

Query object for listing entries.

Returns

ReadableStream 

A readable stream that emits Entry instances.

Example

const {Logging} = require('@google-cloud/logging');
const logging = new Logging();

logging.getEntriesStream()
  .on('error', console.error)
  .on('data', entry => {
    // `entry` is a Stackdriver Logging entry object.
    // See the `data` property to read the data from the entry.
  })
  .on('end', function() {
    // All entries retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
logging.getEntriesStream()
  .on('data', function(entry) {
    this.end();
  });

getSinksStream

getSinksStream(query) returns ReadableStream

Get the Sink objects associated with this project as a readable object stream.

Parameter

query

Optional

GetSinksRequest

Query object for listing sinks.

Returns

ReadableStream 

A readable stream that emits Sink instances.

Example

const {Logging} = require('@google-cloud/logging');
const logging = new Logging();

logging.getSinksStream()
  .on('error', console.error)
  .on('data', sink => {
    // `sink` is a Sink object.
  })
  .on('end', function() {
    // All sinks retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
logging.getSinksStream()
  .on('data', function(sink) {
    this.end();
  });

log

log(name, options) returns Log

Get a reference to a Stackdriver Logging log.

Parameter

name

string

Name of the existing log.

options

Optional

object

Configuration object.

Values in options have the following properties:

Parameter

removeCircular

Optional

boolean

Replace circular references in logged objects with a string value, [Circular]. (Default: false)

See also

Log Overview

Returns

Log 

Example

const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
const log = logging.log('my-log');

request

request(config, callback)

Funnel all API requests through this method, to be sure we have a project ID.

Parameter

config

object

Configuration object.

Values in config have the following properties:

Parameter

gaxOpts

object

GAX options.

method

function()

The gax method to call.

reqOpts

object

Request options.

callback

Optional

function()

Callback function.

sink

sink(name) returns Sink

Get a reference to a Stackdriver Logging sink.

Parameter

name

string

Name of the existing sink.

See also

Sink Overview

Returns

Sink 

Example

const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
const sink = logging.sink('my-sink');