extended-console

Extends default console logging with various utilities.

npm install extended-console
16 downloads in the last week
33 downloads in the last month

extended-console

Extends default console logging with various utilities.

Features

  • Prepend timestamp to output using Moment.js' format
  • Prepend log level (ie, log, inf, war, err)
  • Attach events to be called when something is logged using any of the 4 log functions

Usage

First install it using npm

npm install extended-console

Then simply require it and log away!

require("extended-console");

console.log("Log away!");

Options

Options are located within the console.extended object.

  • showTimestamp ( boolean ) Whether to prepend a timestamp to output
  • timestampFormat ( string ) Format for timestamp. Uses Moment.js' format
  • showLogLevel ( boolean ) Whether to prepend the log level to output

For example

require("extended-console");

console.extended.timestampFormat = "YYYY-MM-DD HH:mm";
console.log("Custom timestamp format!");

Events

This module extends the console to act as a standard event emitter. You can use standard events.EventEmitter methods such as .on and .addListener on the console.extended object. The event names are as follow: log, inf, war, err. Be careful not to call any of the logging functions inside of an event callback for that logging function itself, for it will result in a stack overflow.

Example

console.extended.on("err", function() {
    process.stdout.write("Error event listener called\n");
});
console.error("Error event listener test");

Changelog

2.2.0

  • Events now called with potential prepended string in arguments
  • No longer prepend empty string (used to produce superfluous space character)

2.1.1

  • Fixed bug that caused events not to be emitted

2.1.0

  • Added event support
  • Changed log level logging to use following short names: log, inf, war, err. This is for consistency with events
  • Changed to using Semantic Versioning. Changed version numbers to reflect what should have been in this README file.

2.0.0

(previously 0.2)

Breaking changes

  • Added option to prepend log level (on by default)
  • Switched to Moment.js for date formatting
  • Surrounding brackets are no longer part of timestamp format. They are always automatically there

1.0.0

(previously 0.1)

  • Initial release

License

MIT (see included LICENSE)

npm loves you