1.1.2 • Published 4 years ago
@ecgcorp/dd-logger v1.1.2
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))
}
}