Only What Matters - Simple Level Logger
This module/script enables the user to set his own output level for the console. It works for node and for browsers (>IE11) and it manages console.(debug|error|info|log|trace|warn) methods only.
How to use
npm install -save owm
Or in browser
The input parameter(s)
Each parameter could be provided in exclusion (or inclusion) mode by prepending (or not) a "-" dash before the letter corresponding the desired level.
Accepted values (as single concatenated string, as multiple strings or as array of strings)
- "d": enabled
debug
method - "-d": disable
debug
method - "e": enabled
error
method - "-e": disable
error
method - "i": enabled
info
method - "-i": disable
info
method - "l": enabled
log
method - "-l": disable
log
method - "t": enabled
trace
method - "-t": disable
trace
method - "w": enabled
warn
method - "-w": disable
warn
method - "a": shortcut for "deiltw". This enables all the methods above (d, e, i, l, t, w). IMPORTANT: This is the default value.
- "-a": shortcut for "-d-e-i-l-t-w". This disables all the methods above (d, e, i, l, t, w)
If "a" is present but not "-a", all methods are enabled. If "-a" is present, all methods are disabeld. In all the other cases, order matters: latest wins.
Extended "human readable" values are also accepted:
- (-)all
- (-)log / (-)logs
- (-)err / (-)error / (-)errors
- (-)warn / (-)warning / (-)warnings
They all will be converted in (-)(a|l|e|w).
options
, reset
, __noSuchMethod__
Special methods: var logger = ; // enables all ('a' is the default value)loggeroptions'l'; // enables log method onlylogger; // shortcut for logger.options() with no parameters: re-enable all primitive methodsloggeroptions'le'; // enables log and error methods only; /* Customizable behavior for unexistent methods (as prototype or not) */OWMprototype{ this; };logger; // output: "This method doesn't exists: newMethod."logger{ this;};logger; // output: "Try another method, please."
once
Special property: If needed, all the primitive console methods are accessible through the once
object:
var logger = 'l'; // Enabled log method onlylogger; // output: 1logger; // no outputloggeronce; // output: 3logger; // no output
Examples
var levels = 'l' 'w' 'e' '-w' '-i-d-t' ;var logger = levels;logger; // output: 1logger; // no outputlogger; // output: 3logger; // no outputlogger; // no outputlogger; // no output levels = '-la'; // -l: disables log method, a: enables all (-l is ignored)loggeroptionslevels;logger; // output: 4logger; // output: 5logger; // output: 6 loggeroptions'-a'; // disables alllogger; // no outputlogger; // no outputlogger; // no outputloggeronce; // output: 71loggeronce; // output: 81loggeronce; // output: 91 logger; // alias for logger.option() with no parameter: all primitive console functionalities are recoveredlogger; // output: 10logger; // output: 11logger; // output: 12 var logger = 'w,e'; // warn and error outputs only are enabledlogger;logger; // this outputs nothinglogger; logger; // re-enable all the console functionalitiesloggeroptions'a'; // alternative for logger.reset();loggeroptions'l,e'; // enable output for console.log and console.error only logger;loggeroptions'w';logger;logger;loggeroptions'e';