The colorful tool for the NodeJS and browsers logs
$ npm install @monterosa/logger
import { LEVELS, setLevel, getLogger } from '@monterosa/logger';
setLevel(LEVELS.DEBUG); // LEVELS.INFO by default
const logger = getLogger('prefix');
logger.info("this is '%s' level", 'info'); // {"@name": "base", "@level":"info","@timestamp":"2018-05-15T09:09:11.781Z","@prefix":"prefix","@message":"this is 'info' level","@splat":["info"]}
logger.warn("this is %j", { level: 'info' }); // {"@name": "base", "@level":"warn","@timestamp":"2018-05-15T09:09:11.782Z","@prefix":"prefix","@message":"this is {\"level\":\"info\"}","@splat":[{"level":"info"}]}
logger.error("Fatal error %s", new Error('some error')); // {"@name": "base", "@level":"error","@timestamp":"2018-05-15T09:09:11.782Z","@prefix":"prefix","@message":"Fatal error Error: some error","@splat":[{}]}
logger.debug("userName=%s, userData=%j", 'z4o4z', data); // {"@name": "base", "@level":"error","@timestamp":"2018-05-15T09:09:11.782Z","@prefix":"prefix","@message":"userName=z4o4z, userData={...}","@splat":['z4o4z', {...}]}
The map of available log levels.
LEVELS.ERROR // error
LEVELS.WARN // warn
LEVELS.INFO // info
LEVELS.DEBUG // debug
LEVELS.VERBOSE // verbose
LEVELS.SILLY // silly
The method to set log name. Useful when you are shared code between processes and want to specify for which process the log was called. By default name is base
. Can be called in runtime.
setName('some name');
The method to set log level. Gets level as an argument. By default level is LEVELS.INFO
. Can be called in runtime.
setLevel(LEVELS.DEBUG);
The method gets some prefix and returns logger instance with methods below:
logger.error
logger.warn
logger.info
logger.debug
logger.verbose
logger.silly
The prefix will be added to the logs as @prefix
, for the NodeJS applications we are recommending to use __filename
(global variable) as a prefix for easy debugging and finding something in the logs
This method allows you set function which will be called before logging something in the console.
MIT