@findanyemail/winston-transport-stackdriver-error-reporting

1.1.4 • Public • Published

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/error-reporting 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/error-reporting 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.

Alternatives

Official package @google-cloud/logging-winston exists now, a winston transport for Stackdriver Logging, which can automatically report logged errors to Error Reporting.

Package Sidebar

Install

npm i @findanyemail/winston-transport-stackdriver-error-reporting

Weekly Downloads

0

Version

1.1.4

License

MIT

Last publish

Collaborators

  • findanyemail