Socket
Socket
Sign inDemoInstall

console-stamp

Package Overview
Dependencies
54
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    console-stamp

Patch NodeJS console methods in order to add timestamp information by pattern


Version published
Maintainers
1
Install size
812 kB
Created

Readme

Source

console-stamp

npm downloads

This module enables you to patch the console's methods in Node.js, to add timestamp prefix based on a given string pattern, and more...

Usage

Install

npm install console-stamp

Patching the console

require("console-stamp")(console, [options]);
console

The console itself.

options {Object|String}

From version 2.0 the second parameter is an object with several options. As a backward compatibillity feature this parameter can be a string containing the pattern.

  • options.pattern {String}
    A string with date format based on Javascript Date Format
    Default: "ddd mmm dd yyyy HH:MM:ss"

  • options.label {Boolean}
    If true it will show the label (LOG | INFO | WARN | ERROR)
    Default: true

  • options.include {Array}
    An array containing the methods to include in the patch
    Default: ["log", "info", "warn", "error", "dir", "assert"]

  • options.exclude {Array}
    An array containing the methods to exclude in the patch
    Default: [] (none)

  • options.metadata {String/Object/Function}
    Types can be String, Object (interpreted with util.inspect), or Function. See the test-metadata.js for examples.
    Note that metadata can still be sent as the third parameter (as in vesion 1.6) as a backward compatibillity feature, but this is deprecated.
    Default: undefined

  • options.colors {Object}
    An object representing a color theme. More info here.

    • options.colors.stamp {String/Array}
      Default: []

    • options.colors.label {String/Array}
      Default: []

    • options.colors.metadata {String/Array}
      Default: []

Note: To combine colors, bgColors and style, set them as an array like this:

...
	stamp: ["black", "bgYellow", "underline"]
... 

Note also that by sending the parameter --no-color when you start your node app, will prevent any colors from console.

$ node my-app.js --no-color

Example

// Patch console.x methods in order to add timestamp information
require( "console-stamp" )( console, { pattern : "dd/mm/yyyy HH:MM:ss.l" } );

console.log("Hello World!");
// -> [26/06/2015 14:02:48.062] [LOG] Hello World!

var port = 8080;
console.log("Server running at port %d", port);
// -> [26/06/2015 16:02:35.325] [LOG] Server running at port 8080

 

console.log( "This is a console.log message" );
console.info( "This is a console.info message" );
console.warn( "This is a console.warn message" );
console.error( "This is a console.error message" );
console.dir( {bar: "This is a console.dir message"} );

Result:

[26/06/2015 12:44:31.777] [LOG]   This is a console.log message
[26/06/2015 12:44:31.777] [INFO]  This is a console.info message
[26/06/2015 12:44:31.779] [WARN]  This is a console.warn message
[26/06/2015 12:44:31.779] [ERROR] This is a console.error message
[26/06/2015 12:44:31.779] [DIR]   { bar: 'This is a console.dir message' }

and

require( "console-stamp" )( console, {
	metadata: function () {
    	return ("[" + process.memoryUsage().rss + "]");
	},
	colors: {
    	stamp: "yellow",
    	label: "white",
    	metadata: "green"
	}
} );

console.log( "This is a console.log message" );
console.info( "This is a console.info message" );
console.warn( "This is a console.warn message" );
console.error( "This is a console.error message" );
console.dir( {bar: "This is a console.dir message"} );

Result:

Console

Adding Metadata

Types can be string, object (interpreted with util.inspect), or function. See the test-metadata.js for examples.

String example
require("console-stamp")(console, {
    pattern:"HH:MM:ss.l", 
    metadata:'[' + process.pid + ']'
});

console.log('Metadata applied.');

Result:

[26/06/2015 12:44:31.779] [LOG] [7785] Metadata applied.
Function example
var util = require("util");

require("console-stamp")(console, {
    pattern:"HH:MM:ss.l", 
    metadata: function(){ return '[' + (process.memoryUsage().rss) + ']'; });

console.log('Metadata applied.');

Result:

[18:10:30.875] [LOG] [14503936] Metadata applied.

Keywords

FAQs

Last updated on 28 Aug 2015

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc