@spdeepika/common-logger
v1.0.2
Published
A logger package which can be used to log necessary informations based on project requirement, avoids duplicate codes and is highly customizable. Cloudwatch Dashboard can be built easily with the logs generated from this package.
Downloads
2
Readme
common-logger
A logger package which can be used to log necessary informations based on project requirement, avoids duplicate codes and is highly customizable. Cloudwatch Dashboard can be built easily with the logs generated from this package.
To install
npm install @spdeepika/common-logger
Usage
var logger = require('@spdeepika/common-logger');
// loggerOptions
var loggerOptions = {
logEntryExitTime : true //flag to log API entry,exit time and total execution time. Default Value : true
logEntireRequestBody : false //flag to log API Entire Request Body. Default Value : false
logEntireRequestHeader : false //flag to log API Entire Header. Default Value : false
logRequestHost : false // flag to log client host. Default Value : false
logSpecificRequestBody : [] //to log specific keys of request body. Example : ['requestKey1','requestKey2']
logSpecificRequestHeader : [] //to log specific request header. Example : ['user-agent']
logEntireResponse : false //flag to log entire API response. Default Value : false
logAdditionalPrefixes : [] //to log specific value in all console logs. Example : ['userId']. It will add userId value in all console logs
apiNameMappings : {} //object that maps API name with request url . Example : {'/testRoute':'Test API'}. By default api Names will be added in all console logs
}
// Creating new instance
var loggerInstance = new logger(loggerOptions);
//Adding logger in api routes
app.route('/testRoute').post(loggerInstance.entryCall.bind(loggerInstance), controller.testController, loggerInstance.exitCall.bind(loggerInstance), cors()); //entryCall - to log the request related information , exitCall - to log the response related information
Example Logs
[Test API] [TIMEINFO] API entry time : 2022-09-30T08:57:22.802Z [Test API] [INFO] API Request Body [token] : Bearer token [Test API] [INFO] API Request Host : localhost:3001 [Test API] [INFO] API Request Header [user-agent] : PostmanRuntime/7.29.2 [Test API] [INFO] API SUCCESS [Test API] [TIMEINFO] API SUCCESS Exit time : 2022-09-30T08:57:22.889Z [Test API] [TIMEINFO] API Total SUCCESS Execution time : 87ms