egainloggerdemo

0.0.14 • Public • Published

ps-chronicle

A logger which is eGain specific,which use winston internally ,used to create logs based on 2 formats -> JSON or Simple. The default format is JSON. The log levels defined here are : error, wspayload, info, warn, debug. The log level for console is debug. The timestamp is GMT + 0(London timezone)

installation

npm i ps-chronicle

usage

Steps to make the most of it from this logger

Step 1) Import/require package

const { Logger } = require('ps-chronicle');

Step 2) create context - once per file/class . All three fields in the context object is optional. This logger is eGain specific so only these three context properties can be set : "fileName" , "customerName" , "format". If format is not given then the default format will be "json",

const context = {
	fileName: 'app.js',
	customerName: 'SurveyCustomer',
	format: 'json',
};

Step 3) initialize the object through "Logger" constructor once per file with the context object and the highest log level. If highest log level is not sent during initialization, then by default it will take "debug"

var logger = new Logger(context, 'debug');

Step 4) set method Name for each method . If the log level defined in the log() function is not in the scope then the default log level ,i.e info is set. log() function parameters : i. log level ii. message iii. after above two parameters you can give n number of parameters , all will be the part of key: additionalinfo , which is an array.

function sum(a, b) {
	logger.setMethodName('sum');
	logger.log('INFO', 'testing  info logger ');
	logger.log('silly', 'testing silly logger '); //silly is not in scope so default log level is set -> info

	logger.log(
		'error',
		'testing error logger ',
		{ tags: 'HEADERS', headers: event.headers },
		{ tags: 'BODY', body: event.body }
	);
	logger.log(
		'wspayload',
		'testing simple wspayload logger ',
		{ tags: 'HEADERS', headers: event.headers },
		{ tags: 'BODY', body: event.body }
	);
	logger.log(
		'warn',
		'testing simple warn logger ',
		{ tags: 'HEADERS', headers: event.headers },
		{ tags: 'BODY', body: event.body }
	);
	logger.log(
		'debug',
		'testing simple debug logger ',
		{ tags: 'HEADERS', headers: event.headers },
		{ tags: 'BODY', body: event.body }
	);
	//rest of the code
}

Additional methods : You can get the method name by the below method :

logger.getMethodName();

Readme

Keywords

none

Package Sidebar

Install

npm i egainloggerdemo

Weekly Downloads

15

Version

0.0.14

License

MIT

Unpacked Size

21.9 kB

Total Files

11

Last publish

Collaborators

  • nishantshaw961995