Skip to content

monterosalondon/logger

Repository files navigation

MLogger Downloads License ESLint code style GitHub stars

The colorful tool for the NodeJS and browsers logs

Install

$ npm install @monterosa/logger

Usage

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', {...}]}

API

LEVELS

The map of available log levels.

LEVELS.ERROR // error
LEVELS.WARN // warn
LEVELS.INFO // info
LEVELS.DEBUG // debug
LEVELS.VERBOSE // verbose
LEVELS.SILLY // silly

setName

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');

setLevel

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);

getLogger

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

setTransport

This method allows you set function which will be called before logging something in the console.

Created by

License

MIT