From 03b73ab474f69f787fbc4095c1f84584b01d467d Mon Sep 17 00:00:00 2001 From: Alexis Tyler Date: Thu, 21 Sep 2017 12:50:46 +0930 Subject: [PATCH] lint code, fix syntax highlighting and change var -> const --- README.md | 233 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 119 insertions(+), 114 deletions(-) diff --git a/README.md b/README.md index 73750f1..1ce0b60 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,14 @@ This module enables you to patch the console's methods in Node.js, to add timest ## Usage ## ### Install - - npm install console-stamp +```console +npm install console-stamp +``` ### Patching the console - - require("console-stamp")(console, [options]); +```js +require('console-stamp')(console, [options]); +``` #### console The global console or [custom console](#customconsole). @@ -27,19 +29,19 @@ The global console or [custom console](#customconsole). 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](http://blog.stevenlevithan.com/archives/date-time-format)
**Default**: "ddd mmm dd yyyy HH:MM:ss" +* **options.pattern** {String}
A string with date format based on [Javascript Date Format](http://blog.stevenlevithan.com/archives/date-time-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.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.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.extend** {Object}
An object describing methods and their associated log level, to extend the existing `method <-> log level` pairs.
For an example see [Custom methods](#custommethods). @@ -58,70 +60,70 @@ From version 2.0 the second parameter is an object with several options. As a ba * **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"] - ... - +```js +... + stamp: ['black', 'bgYellow', 'underline'] +... +``` Or chain Chalk functions like this: - - ... - stamp: require("chalk").red.bgYellow.underline; - ... - +```js +... +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 - +```console +$ node my-app.js --no-color +``` ### Example +```js +// Patch console.x methods in order to add timestamp information +require('console-stamp')(console, { pattern: 'dd/mm/yyyy HH:MM:ss.l' }); - // 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('Hello World!'); +// -> [26/06/2015 14:02:48.062] [LOG] Hello World! +const 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"} ); - +```js +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' } - +```console +[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 +```js +require('console-stamp')(console, { + metadata: function () { + return ('[' + process.memoryUsage().rss + ']'); + }, + colors: { + stamp: 'yellow', + label: 'white', + metadata: 'green' + } +}); - 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"} ); - +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](gfx/console.png) @@ -131,17 +133,16 @@ Result: As of version 0.2.4 you can also create a custom console with its own `stdout` and `stderr` like this: +```js +const fs = require('fs'); +const output = fs.createWriteStream('./stdout.log'); +const errorOutput = fs.createWriteStream('./stderr.log'); +const logger = new console.Console(output, errorOutput); -``` - var fs = require( 'fs' ); - var output = fs.createWriteStream( './stdout.log' ); - var errorOutput = fs.createWriteStream( './stderr.log' ); - var logger = new console.Console( output, errorOutput ); - - console_stamp( logger, { - stdout: output, - stderr: errorOutput - } ); +console_stamp(logger, { + stdout: output, + stderr: errorOutput +}); ``` Everything is then written to the files. @@ -152,39 +153,40 @@ Everything is then written to the files. ### Custom Formatter Example Custom formatter using moment.js +```js +const moment = require('moment'); +moment.locale('ja'); - var moment = require('moment'); - moment.locale('ja'); - - require( "console-stamp" )( console, { - formatter:function(){ - return moment().format("LLLL"); - } - } ); +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"} ); +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' } - +```console +[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' } +``` ### Custom Methods -The **option.extend** option enables the extention or modification of the logging methods and their associated log levels: +The **option.extend** option enables the extension or modification of the logging methods and their associated log levels: The default logging methods and their log levels are as follows: -```javascript -var levelPriorities = { +```js +const levelPriorities = { log: 4, info: 3, warn: 2, @@ -196,7 +198,7 @@ var levelPriorities = { Combined with the **include** option, the **extend** option enables the usage of custom console logging methods to be used with this module, for example: -```javascript +```js // Extending the console object with custom methods console.debug = function(msg) { console.log(msg); @@ -208,13 +210,13 @@ console.fatal = function(msg) { // Initialising the output formatter require('console-stamp')(console, { - pattern: "HH:MM:ss", + pattern: 'HH:MM:ss', extend: { debug: 5, fatal: 0, }, - include: ["debug", "info", "warn", "error", "fatal"], - level: "debug", + include: ['debug', 'info', 'warn', 'error', 'fatal'], + level: 'debug', }); ``` @@ -226,28 +228,31 @@ Types can be string, object (interpreted with util.inspect), or function. See the [test-metadata.js](https://github.com/starak/node-console-stamp/blob/master/test-metadata.js) for examples. #### String example +```js +require('console-stamp')(console, { + pattern: 'HH:MM:ss.l', + metadata: '[' + process.pid + ']' +}); - require("console-stamp")(console, { - pattern:"HH:MM:ss.l", - metadata:'[' + process.pid + ']' - }); - - console.log('Metadata applied.'); - +console.log('Metadata applied.'); +``` Result: - - [26/06/2015 12:44:31.779] [LOG] [7785] Metadata applied. +```console +[26/06/2015 12:44:31.779] [LOG] [7785] Metadata applied. +``` #### Function example +```js +const util = require('util'); - var util = require("util"); - - require("console-stamp")(console, { - pattern:"HH:MM:ss.l", - metadata: function(){ return '[' + (process.memoryUsage().rss) + ']'; }); +require('console-stamp')(console, { + pattern: 'HH:MM:ss.l', + metadata: function(){ return '[' + (process.memoryUsage().rss) + ']'; }); - console.log('Metadata applied.'); +console.log('Metadata applied.'); +``` Result: - - [18:10:30.875] [LOG] [14503936] Metadata applied. +```console +[18:10:30.875] [LOG] [14503936] Metadata applied. +```