1.0.6 • Published 2 years ago

pino-cloud-logging v1.0.6

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

Use Pino with Google Cloud Logging

This package provides a simple configuration to use with Pino to make it adhere to Google Cloud Logging structured logging.

Quickstart

yarn add pino-cloud-logging

When you initialize your Pino logging instance, you'll use our gcpLogOptions.

import Pino from 'pino';
import { gcpLogOptions } from 'pino-cloud-logging';

const logger = Pino(gcpLogOptions());

logger.info('Hello 👋');

You can extend the configuration provided by this package like this:

gcpLogOptions({
  level: 'INFO',
  // Options can be found here:
  // https://github.com/pinojs/pino/blob/master/docs/api.md#options
});

You can also provide some of the default context like this:

gcpLogOptions(
  {
    /* ... */
  },
  { serviceName: 'hello-world', version: '2020-01-01' },
);

If you want to provide insertId (or any other runtime data), you can add those with the mixin function.

gcpLogOptions(
  {
    /* ... */
  },
  { mixin: () => ({ insertId: randomUUID() }) },
);

Or even provide context from OpenTelemetry.

import { context, getSpan } from '@opentelemetry/api';
gcpLogOptions(
  {
    /* ... */
  },
  { mixin: () => getSpan(context.active())?.context() ?? {} },
);