Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bunlogger

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bunlogger

bunyan logger, bunyan express middleware, pretty print err for development

  • 3.0.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

bunlogger

express logging middlewares built on bunyan and rotatelog-stream

Installation

$ npm install bunlogger --save

Features

  1. app.use(logger.connect()) middleware will populate the req.log, which is actually a child of the bunyan logger, simply req.log.info('...') will share the same cor_id in the access log and error log.

  2. req.log.fatal(), req.log.error() will log error into error log file separated from access log.

  3. app.use(logger.onError()) middleware will skip error which was logged by req.log.fatal(), req.log.error() or req.log.warn(), so no duplicated error logging. In addition, error with no status or status >= 500, will be logged in error level. Error with status between 400~499, will be logged in warn level.

  4. elapsed show the time spent in this req.

  5. Integrate with rotatelog-stream for rotating logs to files.

  6. See logging on the console in developing stage.

Quick Start

express

const express = require('express');
const AppLogger = require('bunlogger');
const logDir = require('path').join(__dirname, 'log');

   
var app = express();
app.log = new AppLogger({dev: true, logDir});

populate req.log and log all accesses

app.use(app.log.connect());

Catch express next(err) for logging, but skip if req.log got called above warn level.

app.use(app.log.onError());

log directory created and bunlogger.log, bunlogger-error.log created.

Finally, render req.cor_id in the final error handler, so the customer can contact you with cor_id for help.

Create logger

logger is using rotatelog-stream for rotating logs.

const Logger = require('..').Logger;
const join = require('path').join;

var log = new Logger({logDir: join(__dirname, 'log')});

log.info('hi info');
log.warn('hi warn');
log.error('hi error');

Print Error

A handy tool to replace console.error(err).

const printErr = require('bunlogger').printErr;

try {
  new NotExist();
} catch (er) {
  printErr(er)
}

cli

$ DEBUG=* node bin/www

Options

  • name: {String},
  • logDir: 'path/to/log/directory' - directory to save log files
  • keep: {Number} - how many log files keep. See rotatelog-stream
  • maxsize: {Number} - max filesize allowed. See rotatelog-stream
  • dev: {Boolean} - Pipe logs to process.stdout for development, so we can see how logging file looks like in console.
  • streams: {Array} - additional streams for Bunyan

Keywords

FAQs

Package last updated on 23 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc