Constructor

LoggingBunyan

new LoggingBunyan(options)

Parameter

options

Optional

object

Values in options have the following properties:

Parameter

logName

Optional

string

The name of the log that will receive messages written to this bunyan stream. Default: bunyan_Log.

resource

Optional

object

The monitored resource that the log stream corresponds to. On Google Cloud Platform, this is detected automatically, but you may optionally specify a specific monitored resource. For more information, see the official documentation

serviceContext

Optional

object

For logged errors, we provide this as the service context. For more information see this guide and the official documentation.

serviceContext.service

Optional

string

An identifier of the service, such as the name of the executable, job, or Google App Engine service name.

serviceContext.version

Optional

string

Represents the version of the service.

projectId

Optional

string

The project ID from the Google Cloud 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.

keyFilename

Optional

string

Full path to the a .json, .pem, or .p12 key downloaded from the Google Cloud 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 the email option as well.

email

Optional

string

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

credentials

Optional

object

Credentials object.

credentials.client_email

Optional

string

credentials.private_key

Optional

string

autoRetry

Optional

boolean

Automatically retry requests if the response is related to rate limits or certain intermittent server errors. We will exponentially backoff subsequent requests by default.

maxRetries

Optional

number

Maximum number of automatic retries attempted before returning the error.

promise

Optional

constructor

Custom promise module to use instead of native Promises.

Examples

Import the client library

const {LoggingBunyan} = require('@google-cloud/logging-bunyan');
<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 loggingBunyan = new
LoggingBunyan();
<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 loggingBunyan = new LoggingBunyan({
  projectId: 'your-project-id',
  keyFilename: '/path/to/keyfile.json'
});

Full quickstart example:

const bunyan = require('bunyan');

// Imports the Google Cloud client library for Bunyan
const {LoggingBunyan} = require('@google-cloud/logging-bunyan');

// Creates a Bunyan Stackdriver Logging client
const loggingBunyan = new LoggingBunyan();

// Create a Bunyan logger that streams to Stackdriver Logging
// Logs will be written to: "projects/YOUR_PROJECT_ID/logs/bunyan_log"
const logger = bunyan.createLogger({
  // The JSON payload of the log as it appears in Stackdriver Logging
  // will contain "name": "my-service"
  name: 'my-service',
  streams: [
    // Log to the console at 'info' and above
    {stream: process.stdout, level: 'info'},
    // And log to Stackdriver Logging, logging at 'info' and above
    loggingBunyan.stream('info'),
  ],
});

// Writes some log entries
logger.error('warp nacelles offline');
logger.info('shields at 99%');

Property

LOGGING_TRACE_KEY

static

string

Value: logging.googleapis.com/trace

Methods

_write

_write()

Relay a log entry to the logging agent. This is called by bunyan through Writable#write.

_writev

_writev()

Relay an array of log entries to the logging agent. This is called by bunyan through Writable#write.

formatEntry_

formatEntry_()

Format a bunyan record into a Stackdriver log entry.

stream

stream()

Convenience method that Builds a bunyan stream object that you can put in the bunyan streams list.