1.0.9 • Published 3 years ago
separated-logger v1.0.9
Expanded logging library for express
This library was created according to requirements of separated business and may not be suitable for wide usage.
Prerequisites
This project requires NodeJS (version 16 or later) and NPM. Node and NPM are really easy to install. To make sure you have them available on your machine, try running the following command.
$ npm -v && node -v
8.3.1
v16.14.0
Installation
To install and set up the library, run:
$ npm install separated-logger -save
Usage
There are 2 ways to use logger, with output to console, or sended bu UDP. if you want to use only console, you should enter only logger name in params
basic params
const { ExpandedLogger } = require('separated-logger');
const logger = new ExpandedLogger({ name: 'logger-name' });
to send logs to logstash use example below
const { ExpandedLogger } = require('separated-logger');
const logger = new ExpandedLogger(
{
"name": "logger name",
"transport": "logstash",
"host": "192.168.0.1",
"port": 10517,
"maskCard": true,
"addNumericalData": true,
"numericalDataMinLength: 4
});
logger config params
Param | is required | Description |
---|---|---|
name | true | Name of your logger or application |
transport | false | Transport. Can be logstash or console |
host | false | your logstash host. is required if transport is logstash |
port | false | your logstash port. is required if transport is logstash |
maskCard | false | mask credit cards in logs. Default false |
addNumericalData | false | Adds an array of digits found in the message to separated param. Default false |
numericalDataMinLength | false | min lengtth of number for adding to numericalData field. Default 4 |
API
log, info, warn, error, debug
const { ExpandedLogger } = require('separated-logger');
const logger = new ExpandedLogger({ name: 'logger-name' });
logger.log('message');
logger.info('message');
logger.info({ message: 'message' });
logger.error(new Error('error message'));
logger.error('error message');
addLogger
addLogger is express middleware to log requests
const express = require('express');
const { ExpandedLogger } = require('separated-logger');
const app = express();
const logger = new ExpandedLogger({ name: 'logger-name' });
logLib.addLogger(app);
Example output
[2022-09-22T10:54:40.414Z][node][info] {
method: 'GET',
url: 'http://localhost:3000/',
ip: '::ffff:127.0.0.1',
body: {},
query: {},
status: 304
}
axiosInterceptor
Log reqeust and response to 3rd party srvices, add random request id to each reqeust.
const { ExpandedLogger } = require('separated-logger');
const logger = new ExpandedLogger({ name: 'logger-name' });
const axios = logger.axiosInterceptor('3rd party servide name');
await axios('https://google.com');