ofrobots / winston-transport-stackdriver-error-reporting

Stackdriver Error Reporting transport for winston logger (Node.js)

Repository from Github https://github.comofrobots/winston-transport-stackdriver-error-reportingRepository from Github https://github.comofrobots/winston-transport-stackdriver-error-reporting

Stackdriver Error Reporting transport for Winston logger

Build Status Code Climate Scrutinizer Code Quality NPM Version

Overview

This package is Winston logger transport that sends errors to Stackdriver Error Reporting service.

It's able to work in two modes:

  1. Logging to stdout compatible with Google Container Engine;
  2. Logging via an API with a help of @google/cloud-errors library.

Usage and Configuration

Simply add this to your Winston transports array:

    winston.configure({
      transports: [
        new StackdriverErrorReporting(options),
      ],
    });

This transport supports 100% same configuration options as @google/cloud-errors library, and uses API transport by default. The only additional option is options.level that controls minimal log entry level that should be sent to Stackdriver.

If you want to use stdout logging mode, all you need is to switch mode and set your serviceContext:

    winston.configure({
      transports: [
        new StackdriverErrorReporting({
          mode: 'console',
          serviceContext: {
            service: 'my service',
            version: '1.0.0'
          }
        }),
      ],
    });

How it works

When log entry reaches this transport, it will search meta object of log entry for objects that looks like errors (with stack property defined). After that, all errors will be delivered to Stackdriver Error Reporting service.

If meta.context property is defined, it will be attached to error as it's context. Please see Stackdriver Error Reporting documentation for details.

About

Stackdriver Error Reporting transport for winston logger (Node.js)

License:MIT License


Languages

Language:JavaScript 100.0%