Skip to content

Latest commit

 

History

History
75 lines (51 loc) · 2.42 KB

File metadata and controls

75 lines (51 loc) · 2.42 KB

Node Logger

This is a good default configuration of winston.

Install

To install in your project, do npm install @glg/node-logger. More detailed steps for installing, authenticating and using a GLG Private NPM Package can be found here.

Usage

createLogger

createLogger(logLevel, metadata, stderrLevels) => Winston.Logger

Params

Param Type Description Default
logLevel String The minimum severity level to log. See Log Levels info
metadata Object Any extra data you want included in your logging, like what service this is {}
stderrLevels Array Which log levels should be logged to stderr instead of stdout []
const { createLogger } = require('@glg/node-logger');

const logger = createLogger('info', { service: 'my-service', component: 'index.js' });

logger.info('Some message');
// info: Some message {"service":"my-service","component":"index.js","timestamp":"2019-02-22 15:41:34"}

logger.error('Some other message');
// error: Some other message {"service":"my-service","component":"index.js","timestamp":"2019-02-22 15:41:34"}

Logging JSON (custom format)

const { createLogger, format } = require('@glg/node-logger');

const logger = createLogger(
  'info',
  { service: 'catpants', sha: process.env.GITHUB_SHA },
  [],
  { format: format.json() },
);

logger.log({
  level: 'warn',
  message: 'mayday',
});
// {"level":"info","message":"mayday","service":"catpants","sha":"<github-sha-value>"}

Log Levels

This supports the following log levels, in order of decreasing severity:

  • emerg
  • alert
  • crit
  • error
  • warning
  • notice
  • info
  • debug

If you create a logger with the log level info (default), it will log all outputs that are at least an info level severity, which would be everything except debug.

If you create a logger with the log level error, it will only log messages that are error, crit, alert, or emerg.

Local development

To work on this locally, clone it and run npm install. You should be good to go.

Be sure to read CONTRIBUTING.md for guidelines on contributing to this repo.