npm.io
1.0.0 • Published 1 year ago

@atp-autoteile/logger

Licence
UNLICENSED
Version
1.0.0
Deps
6
Size
55 kB
Vulns
0
Weekly
0

ATP_Logger

Library created for logging errors using Sentry and Azure Application Insights.

! IMPORTANT !

  • Library requires ATP_LOGGER_DSN environment variable to log Sentry errors
  • ATP_LOGGER_ENV is required for specific Sentry environment ('production' by default)
  • APPLICATIONINSIGHTS_CONNECTION_STRING is required for Azure Application Insights service
  • Run npm version <version_name> after every update

Environment Variables Example

ATP_LOGGER_DSN='https://******@sentry.io/12345'
ATP_LOGGER_ENV='staging'
APPLICATIONINSIGHTS_CONNECTION_STRING='InstrumentationKey=******;IngestionEndpoint=https://******.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus.livediagnostics.monitor.azure.com/'

Installation & Basic Usage

Install via npm:

npm install @atp-autoteile/logger
For CommonJS:
const { Logger } = require('@atp-autoteile/logger');

const logger = new Logger('my-service');

logger.info('Info message');
For ESM:
import { Logger } from '@atp-autoteile/logger';

const logger = new Logger('my-service');

logger.info('Info message');

Version Overview

v0.x (Legacy)
  • Basic logger without configuration options in constructor
  • Simple logging methods with only the message param
v1.x (Current)
  • Extensive configuration options possible on creation for Azure Application Insights and Sentry, exposes all interfaces of the underlying libraries
  • Logging methods offer conditional logging to logging providers as well as custom metadata
  • Completely backwards compatible

Example v1 Configuration

const logger = new Logger('my-service', {
  azure: {
    aiConfig: { setAutoCollectConsole: [true, true] },
    samplingPercentage: 100
  },
  sentry: {
    sentry: { sampleRate: 0.5, debug: true }
  }
});

Example Logging Method Options

logger.error(new Error('Payment failed'), {
  logTo: [LoggerProvider.azure], // only send to Azure
  userId: '123',
  cartId: '456',
});

More Information

Full configuration reference and options are available here:
ATP Logger Documentation


ATP Autoteile GmbH