1 | let levels = ['error', 'warn', 'log', 'info'];
|
2 | let level = 'warn';
|
3 |
|
4 | function debug(method, ...args) {
|
5 | if (levels.indexOf(method) <= levels.indexOf(level)) {
|
6 | console[method](...args); // eslint-disable-line no-console
|
7 | }
|
8 | }
|
9 |
|
10 | function namespace(ns) {
|
11 | return levels.reduce(function(logger, method) {
|
12 | logger[method] = debug.bind(console, method, ns);
|
13 | return logger;
|
14 | }, {});
|
15 | }
|
16 |
|
17 | debug.level = namespace.level = function(newLevel) {
|
18 | level = newLevel;
|
19 | };
|
20 |
|
21 |
|
22 | export default namespace;
|