Custom logging moudle to print logs on console, file or sent it to logs visualization application such as grafana.
winston: https://www.npmjs.com/package/winston winston-loki: https://www.npmjs.com/package/winston-loki
Install using npm:
$ npm install --save @mindpath/logger
LOG_LEVEL='debug'
LOGS_PROVIDERS='[{"name": "console"},{"name": "grafana","url": "https://example.com"}]'
SERVICE_LABEL='mindpath-example-service'
Below are npm logging levels that are prioritized from 0 to 6 (highest to lowest):
error: 0,
warn: 1,
info: 2,
http: 3,
verbose: 4,
debug: 5,
silly: 6
This module currently support following providers. You can use any combination of below providers.
- console: Pass if you need logs to be print on console.
- grafana: Pass if you want to sent logs to grafana using loki transport. Grafana url is needed for this.
Some of the Log providers needs there configuration properties as well.
Follow below steps to set Log Providers in environment variable.
- Form a json contain array of objects.
[{"name": "console"},{"name": "grafana","url": "https://example.com"}]
- Use JSON as string in environment variable for property LOGS_PROVIDERS.
'[{"name": "console"},{"name": "grafana","url": "https://example.com"}]'
import logger from '@mindpath/logger';
logger.error('Print error message');
logger.info('Print info message');
// You can use all the levels defined in Log Levels
Or
const logger = require("@mindpath/logger");
logger.error('Print error message');
logger.info('Print info message');
// You can use all the levels defined in Log Levels
- Support to store logs in local file.
- Elastic search support.