Simply, output logs to STDOUT in JSON
npm install node-json-logger



Simply, output logs to STDOUT in JSON
``sh`
npm i node-json-logger
`js
const Logger = require('node-json-logger');
const logger = new Logger();
logger.info();
logger.info('message');
logger.info('message','message','message');
logger.info({ data: 'data' });
logger.info({ data1: 'data' }, { data2: 'data' });
logger.info('message', { data1: 'data' }, 'message', { data2: 'data' }, 'message');
`
Outputs:
`json`
{"timestamp":"2001-03-14T01:00:00.000Z","level":"info"}
{"timestamp":"2001-03-14T01:00:00.000Z","level":"info","message":"message"}
{"timestamp":"2001-03-14T01:00:00.000Z","level":"info","message":"message","message1":"message","message2":"message"}
{"timestamp":"2001-03-14T01:00:00.000Z","level":"info","data":"data"}
{"timestamp":"2001-03-14T01:00:00.000Z","level":"info","data1":"data","data2":"data"}
{"timestamp":"2001-03-14T01:00:00.000Z","level":"info","message":"message","data1":"data","message1":"message","data2":"data","message2":"message"}
`js`
logger.xxx(message?, ...)
Note:
* xxx is one of the Levels
Arguments:
* message: Specify a message as string or object.
* trace
* debug
* info
* warn
* error
* fatal
Specify output level. (optional, default is debug)
`js
const Logger = require('node-json-logger');
const logger = new Logger({ level: 'error'});
logger.trace('message');
logger.debug('message');
logger.info('message');
logger.warn('message');
logger.error('message');
logger.fatal('message');
`
Output:
`json`
{"timestamp":"2001-03-14T01:00:00.000Z","level":"error","message":"message"}
{"timestamp":"2001-03-14T01:00:00.000Z","level":"fatal","message":"message"}
Level and output:
| | trace | debug | info | warn | error | fatal |
|:---------------------|:------|:------|:-----|:-----|:------|:------|
| { level: 'trace' } | O | O | O | O | O | O |{ level: 'debug' }
| | - | O | O | O | O | O |{ level: 'info' }
| | - | - | O | O | O | O |{ level: 'warn' }
| | - | - | - | O | O | O |{ level: 'error' }
| | - | - | - | - | O | O |{ level: 'fatal' }
| | - | - | - | - | - | O |{ level: 'none' }
| | - | - | - | - | - | - |
Specify the name of the logger. Useful when logging from different files.
`js
const Logger = require('node-json-logger');
const logger = new Logger({ loggerName: 'server/index.js' });
logger.info('message');
`
Output:
`json`
{"timestamp":"2001-03-14T01:00:00.000Z","level":"info","loggerName":"server/index.js","message":"message"}
Specify enable or disable timestamp. (optional, default is true)
`js
const Logger = require('node-json-logger');
const logger = new Logger({ timestamp: false });
logger.info('message');
`
Output with disabled timestamp:
`json`
{"level":"info","message":"message"}
Specify locale timezone. (optional, default is UTC)
`js
const Logger = require('node-json-logger');
const logger = new Logger({timezone: 'America/Sao_Paulo'});
logger.info('message');
`
Output with specific timezone:
`json`
{"timestamp":"2018-10-25T15:32:43.318Z","level":"info","message":"message"}
Same output with default timezone (UTC):
`json``
{"timestamp":"2018-10-25T18:32:43.318Z","level":"info","message":"message"}
Click here to see the list with all available timezones.
MIT
Copyright ©2018 Hiroaki SHIBUKI a.k.a. hidori