llog is a simple logging module. llog is intended for use in applications, not libraries. It provides level-based debugging (trace|debug|info|warn|error|fatal).
note: For adding detailed debug statements in libraries, use TJ'sdebug
As an added bonus, llog provides a simple upgrade path from plain text to json logging via either pino or bunyan.
llog will look for
bunyan at load time and automatically use them as a provider if present. This means you can write your apps with non-json logging when starting, and auto-magically all your logs to json logging with a simple
npm i --save pino.
To use llog:
var log = require('llog'); log.debug('some info'); // prints 'debug some info' to stdout log.info('some info'); // prints 'info some info' to stdout log.warn('some info'); // prints 'warn some info' to stdout log.error('some error'); // prints 'error some error' to stdout
Specifying log levels
llog is based on debug, and as such extends the same mechanism debug uses to specify which items to log - using
To log only info, warn, and error in llog, for instance, you would run your application similar to the following:
DEBUG=info,warn,error node app.js
Adding trace is simple:
DEBUG=trace,info,warn,error node app.js
Magic upgrade to json logging
llog will automatically detect if
pino are installed as a peer dependency and, if so, automatically upgrade to json logging. Because
process.env.LOG_LEVEL as a level indicator (as opposed to
DEBUG variable, the steps for moving to json logs are:
npm install --save buynanor
npm install --save pino
- execute your application using
LOG_LEVEL=10 node appinstead of using
DEBUG. Higher levels are always included when specifying a level.
This is particularly useful when moving from early stages of application development to having unified logging via Logstash or Splunk.