Skip to content

achille1789/smart-console-nodejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smart-console

Simple JavaScript library that provides shorthand methods to manage console output with 0 dependencies. Customize your console output with different colors and format styles.

You can find the same library for the browser here.

This is our npm page.

Every console object method (for more info: Node.js "Console") has a name shortcut. Furthermore, predefined colors and style can be added to the log() messages.

Version 4.0

New Features:

  • Code completely rewritten with ES6 syntax
  • Add new "verbose" method. It is as a normal log but the output, at the beginning, has filename and number line. Any existing log method can be used in verbose mode, just use "v" instead of "l" (eg: c.l(text) becomes c.v(text) and c.lRBG(text) becomes c.vRBG(text))
  • Add new console methods: clear, count and countReset. Only for node version 8.3.0 or newer
  • Add TypeScript definition file
  • Add default colors to error, warning and info methods
  • Add a new way to insert variables in log
  • Add trace method
  • "process" object no longer supported

How to use it:

Insert the library as usual:

npm install --save smart-console
// JavaScript file
const { c } = require('smart-console');

// TypeScript file
import { c } from 'smart-console';

Write 'c' instead of 'console' and use one of the method shortcuts. For example:

console.log('test');

// Becomes
c.l('test');

Shorthands for console methods

All the shorthand methods use lower case

c.a(...extraParams) = console.assert()
c.cl() = console.clear()                        // node >= v8.3.0
c.c([label]) = console.count()                  // node >= v8.3.0
c.cr([label]) = console.countReset()            // node >= v8.3.0
c.dir(object, [optObj]) = console.dir()
c.e(text, ...extraParams) = console.error()
c.i(text, ...extraParams) = console.info()
c.l(text, ...extraParams) = console.log()
c.t([label]) = console.time()
c.te([label]) = console.timeEnd()
c.tr(...extraParams) = console.trace()
c.w(text, ...extraParams) = console.warning()
c.j(object, [space]) = console.log()            // to log stringify objects
c.v(text, ...extraParams) = console.log()       // NEW - to log filename and number line

For log() messages you can use 4 different ways to insert a variable:

let str = 'Awesome';
c.l('Smart Console is ' + str);
c.l('Smart Console is %s', str);
c.l(`Smart Console is ${str}`);
c.l('Smart Console is', str);       // NEW

The method j() can be used to log JS and JSON objects using JSON.stringify

var jsonObj = {'pas': 'rex', 'pas1': 'rex', 'pas2': 'rex', 'pas3': 'rex'};
c.j(jsonObj);
// output
// {
//     'pas': 'rex',
//     'pas1': 'rex',
//     'pas2': 'rex',
//     'pas3': 'rex'
// }
var jsObj = {pas: 'rex', pas1: 'rex', pas2: 'rex', pas3: 'rex'};
c.j(jsObj);
// output
// {
//     'pas': 'rex',
//     'pas1': 'rex',
//     'pas2': 'rex',
//     'pas3': 'rex'
// }

A second parameter can be added to insert white spaces. By default they are set to 4

var jsonObj = {'pas': 'rex', 'pas1': 'rex', 'pas2': 'rex', 'pas3': 'rex'};
c.j(jsonObj, 2);
// output
// {
//   'pas': 'rex',
//   'pas1': 'rex',
//   'pas2': 'rex',
//   'pas3': 'rex'
// }

The new method v() "verbose" can be used to log message with filename and line number. Any log method can be used, just use "v" instead of "l"

c.l('Smart Console') becomes c.v('Smart Console')
c.lb('Smart Console') becomes c.vb('Smart Console')
c.lM('Smart Console') becomes c.vM('Smart Console')
c.lMBG('Smart Console') becomes c.vMBG('Smart Console')
// output
// [File: path/file_name] [Line: 150:10] Text message

Format styles for log() method, for verbose use "v" instead of "l"

Format styles use lower case

c.lb() = bold
c.lf() = faint
c.lu() = underline
c.ll() = blink
c.ln() = negative
c.lh() = hidden

shortcuts results

Colors for log() method, for verbose use "v" instead of "l"

Colors use upper case

c.lK() = black
c.lR() = red
c.lG() = green
c.lY() = yellow
c.lB() = blue
c.lM() = magenta
c.lC() = cyan
c.lW() = white

Bold + Colors for log() method, for verbose use "v" instead of "l"

Format styles use lower case and Colors use upper case

c.lbK() = bold + black
c.lbR() = bold + red
c.lbG() = bold + green
c.lbY() = bold + yellow
c.lbB() = bold + blue
c.lbM() = bold + magenta
c.lbC() = bold + cyan
c.lbW() = bold + white

Underline + Bold + Colors for log() method, for verbose use "v" instead of "l"

Format styles use lower case and Colors use upper case, bold style is added by default

c.luK() = underline + bold + black
c.luR() = underline + bold + red
c.luG() = underline + bold + green
c.luY() = underline + bold + yellow
c.luB() = underline + bold + blue
c.luM() = underline + bold + magenta
c.luC() = underline + bold + cyan
c.luW() = underline + bold + white

shortcuts results shortcuts results shortcuts results

Blink + Bold + Colors for log() method, for verbose use "v" instead of "l"

Format styles use lower case and Colors use upper case, bold style is added by default

c.llK() = blink + bold + black
c.llR() = blink + bold + red
c.llG() = blink + bold + green
c.llY() = blink + bold + yellow
c.llB() = blink + bold + blue
c.llM() = blink + bold + magenta
c.llC() = blink + bold + cyan
c.llW() = blink + bold + white

Background Color + Bold for log() method, for verbose use "v" instead of "l"

Background Colors use upper case, bold style is added by default

c.lKBG() = background color + bold + black
c.lRBG() = background color + bold + red
c.lGBG() = background color + bold + green
c.lYBG() = background color + bold + yellow
c.lBBG() = background color + bold + blue
c.lMBG() = background color + bold + magenta
c.lCBG() = background color + bold + cyan
c.lWBG() = background color + bold + white

shortcuts results

Different console colors produce different effects and contrasts

shortcuts results shortcuts results shortcuts results

If you forget the shortcuts' name:

c.l(c);  // console methods

Git Hub Repository

Report an Issue

License

About

Change the style of your console messages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published