Security News
New axobject-query Maintainer Faces Backlash Over Controversial Decision to Support Legacy Node.js Versions
A JavaScript library maintainer is under fire after merging a controversial PR to support legacy versions of Node.js.
console-stamp
Advanced tools
Readme
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...
npm install console-stamp
require("console-stamp")(console, [options]);
The console itself.
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.formatter {Function}
A custom date formatter that should return a formmatted date string.
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.disable {Array}
An array containing the methods to disable in the patch
Default: [] (none)
options.level {String}
A string choosing the most verbose logging function to allow. Ordered/grouped as such: "log dir", "info", "warn assert", "error"
Default: log
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/Function}
Default: []
options.colors.label {String/Array/Function}
Default: []
options.colors.metadata {String/Array/Function}
Default: []
Note: To combine colors, bgColors and style, set them as an array like this:
...
stamp: ["black", "bgYellow", "underline"]
...
Or chain Chalk functions like this:
...
stamp: require("chalk").red.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
// 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:
Custom forrmatter using moment.js
var moment = require('moment');
moment.locale('ja');
require( "console-stamp" )( console, {
formatter:function(){
return moment().format("LLLL");
}
} );
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:
[2016年5月12日午前11時10分 木曜日] [LOG] This is a console.log message
[2016年5月12日午前11時10分 木曜日] [INFO] This is a console.info message
[2016年5月12日午前11時10分 木曜日] [WARN] This is a console.warn message
[2016年5月12日午前11時10分 木曜日] [ERROR] This is a console.error message
[2016年5月12日午前11時10分 木曜日] [DIR] { bar: 'This is a console.dir message' }
Types can be string, object (interpreted with util.inspect), or function. See the test-metadata.js for examples.
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.
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.
FAQs
Patch NodeJS console methods in order to add timestamp information by pattern
The npm package console-stamp receives a total of 173,739 weekly downloads. As such, console-stamp popularity was classified as popular.
We found that console-stamp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
A JavaScript library maintainer is under fire after merging a controversial PR to support legacy versions of Node.js.
Security News
Results from the 2023 State of JavaScript Survey highlight key trends, including Vite's dominance, rising TypeScript adoption, and the enduring popularity of React. Discover more insights on developer preferences and technology usage.
Security News
The US Justice Department has penalized two consulting firms $11.3 million for failing to meet cybersecurity requirements on federally funded projects, emphasizing strict enforcement to protect sensitive government data.