s-logger
v2.0.1
Published
A simple logger with DEBUG state and light customization
Downloads
9
Maintainers
Readme
s-logger
A simple log with DEBUG state and light customization
npm i s-logger --save
Basic usage:
var log = require('s-logger');
log.DEBUG = true; // default false, but inherit previos changes
log( 'log', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
Note: DEBUG you can change any time. But it was conceived as a response to the setting when initializing the application in the states DEBUG = true/false. This means that after the change log flag ceases to work in all parts of the application.
Note: since version 1.1.2 adds the ability to change the color scheme of shortcut.
Colors: black, red, green, yellow, blue, magenta, cyan, white, grey.
Customization:
// complete detailed configuration
var config = {
DEBUG: true,
CUSTOM: {
text: 'custom-CUSTOM',
background: 'black',
color: 'grey',
log: function ( arrayOfArguments ) { // only for custom
for ( var key = 0; key < arrayOfArguments.length; key ++ ) {
console.log( arrayOfArguments[ key ] );
}
}
},
ERROR: {
text: 'custom-ERROR',
background: 'red',
color: 'white',
},
WARN: {
text: 'custom-WARN',
background: 'green',
color: 'cyan',
},
INFO: {
text: 'custom-INFO',
background: 'yellow',
color: 'magenta',
},
LOG: {
text: 'custom-LOG',
background: 'blue',
color: 'red',
}
};
var log = require('s-logger');
var customLog = log.create( 'uniqueIdOfLogger-hash-care', config );
// default false, but inherit previos changes
log.DEBUG
customLog.DEBUG // It does not intersect with the other loggers
// Can be another file (connected later)
if ( customLog === ( require('s-logger') ).get('uniqueIdOfLogger-hash-care') ) {
customLog( 'Completely usability victory !!!' );
} else {
log( 'Completely fail ...' );
}
Note: Delegation to other files is due to mapping inside
Example out in chrome devtool:
log( 'log', 'log.DEBUG = true', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
// S-LOG:
// log.DEBUG = true any count 1 2 3 4 Object {and: "any type", of: Array[1]}
log( 'info', 'log.DEBUG = true', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
// S-INFO:
// log.DEBUG = true any count 1 2 3 4 Object {and: "any type", of: Array[1]}
log( 'warn', 'log.DEBUG = true', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
// S-WARN:
// log.DEBUG = true any count 1 2 3 4 Object {and: "any type", of: Array[1]}
log( 'error', 'log.DEBUG = true', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
// S-ERROR:
// log.DEBUG = true any count 1 2 3 4 Object {and: "any type", of: Array[1]}
Example out in cmd:
log( 'log', 'log.DEBUG = true', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
// S-LOG:
// log.DEBUG = true any count 1 2 3 4 Object {and: "any type", of: Array[1]}
log( 'info', 'log.DEBUG = true', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
// S-INFO:
// log.DEBUG = true any count 1 2 3 4 Object {and: "any type", of: Array[1]}
log( 'warn', 'log.DEBUG = true', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
// S-WARN:
// log.DEBUG = true any count 1 2 3 4 Object {and: "any type", of: Array[1]}
log( 'error', 'log.DEBUG = true', 'any', 'count', 1,2,3,4, { and: 'any type', of: ['data'] } );
// S-ERROR:
// log.DEBUG = true any count 1 2 3 4 Object {and: "any type", of: Array[1]}
It would be interesting to know how you make out your logs.
As usual i make out of my log
log('custom',
'log.DEBUG:', log.DEBUG,
'simple action result:', 'BEST'.toLowerCase(),
'some Object:', { and: 'any type', of: ['data'], 1: 1 },
'some Array:', [1,2,3,'some other']
);
/* S
log.DEBUG: true
simple action result: best
some Object: Object { '1': 1, and: 'any type', of: [ 'data' ] }
some Array: [ 1, 2, 3, 'some other' ]
*/