1 | const levels = ['error', 'warn', 'log', 'info'];
|
2 | let level = 'warn';
|
3 | function debug(method) {
|
4 | if (level) {
|
5 | if (levels.indexOf(method) <= levels.indexOf(level)) {
|
6 | for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
7 | args[_key - 1] = arguments[_key];
|
8 | }
|
9 | console[method](...args);
|
10 | }
|
11 | }
|
12 | }
|
13 | function namespace(ns) {
|
14 | return levels.reduce((logger, method) => {
|
15 | logger[method] = debug.bind(console, method, ns);
|
16 | return logger;
|
17 | }, {});
|
18 | }
|
19 | namespace.level = newLevel => {
|
20 | level = newLevel;
|
21 | };
|
22 | debug.level = namespace.level;
|
23 | export default namespace;
|
24 |
|
\ | No newline at end of file |