2.1.0 • Published 7 years ago

winston-acpaaslogger-transport v2.1.0

Weekly downloads
1
License
ISC
Repository
-
Last release
7 years ago

winston-acpaaslogger-transport

A Winston transport to log messages into the Acpaas Logging Engine

Usage

const winston = require('winston');
winston.transports.Acpaas = require('winston-acpaaslogger-transport').Acpaas;

winston.add(winston.transports.Acpaas, options);

###Options

The options to pass into the constructor is a object with this structure:

{
    "endpoint": "https://...",
    "apikey": "...",
    "level": "debug",
    "header": {
      "index": "virusscanner",
      "version": "V3",
      "correlation": {
        "correlationId": "correlationId",
        "application": {
          "applicationId": "correlationAppId",
          "applicationName": "correlationAppName"
        },
        "instance": {
          "instanceId": "correlationInstanceId",
          "instanceName": "correlationInstanceName"
        }
      },
      "source": {
        "application": {
          "applicationId": "sourceAppId",
          "applicationName": "sourceAppName"
        },
        "instance": {
          "instanceId": "sourceInstanceId",
          "instanceName": "sourceInstanceName"
        },
        "component": {
          "componentId": "sourceComponentId",
          "componentName": "sourceComponentName"
        }
      }
    },
    "body": {
      "user": {
        "userName": "testappuser"
      },
      "message": {
        "type": "text",
        "format": "plain-text"
      },
      "messageVersion": "1"
    }
  }

Check the Acpaas logger engine documentation for more information on the settings.

Correlation info

In case your application receives correlation info, this info can be passed to the logger as metadata.

// The correlation info can be constructed or extracted from headers
const correlationInfo = ....

logger.log('Console shows log!!!', correlationInfo);

The correlation info object should have this structure:

{
    "id": "correlationId",
    "sourceId": "applicationId",
    "sourceName": "applicationName",
    "instanceId": "instanceId",
    "instanceName": "instanceName",
    "userId": "userName",
    "ipAddress": "ipAddress"
}

If no correlation info object is passed, the correlation info from the logger configuration is used.

Add metadata

In case you want to send metadata (json) to the logger, you can pass this as an extra argument:

const correlationInfo = ....

logger.log('Console shows log!!!', { meta: 'data' }, correlationInfo);