1.1.2 • Published 4 years ago

@ecgcorp/dd-logger v1.1.2

Weekly downloads
7
License
ISC
Repository
github
Last release
4 years ago

ddLogger

Introduction

A typescript library for structured logging to DataDog.

Getting Started

Installation

Install via npm

npm install @ecgcorp/ecglogger

Example:

import { EcgLogger } from '@ecgcorp/EcgLogger';
const DataDogKey = process.env.dataDogKey || 'Key not Found';
const context = {
    appName: 'ConstellationApplication',
    host: 'LambdaName',
    key: DataDogKey,
    version: 'v1.0',
    environment: 'Dev',
    correlationId: 'asdlkjhasdkjh', //Optional
    lambdaFunction: 'logLambda',    //Optional
    scriptName: 'index.js'          //Optional
};

const { logger } = new EcgLogger(config)


async function myAsyncFunction(): Promise<void> {
    logger.info('some message')                        // logs message with sessionId and timestamp automatically
    logger.info('some message',{req,res})              // req and res objects must be in an object
    logger.info({message: 'some message', req, res})   // also valid way to send message
    logger.info('some',{message: 'message', req, res}) // message will concat together
    // Log Levels
    logger.trace('log level: 10')
    logger.debug('log level: 20')
    logger.info( 'log level: 30')
    logger.warn( 'log level: 40')
    logger.error('log level: 50')
    logger.fatal('log level: 60')

    logger.error(new Error('error message:'))          // will include a stack (error information like line number and script name)
    // try catch example
    try{
        logger.info('message')
    }catch(e){
        logger.error(new Error(e))
    }
}