-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlogger.js
More file actions
40 lines (37 loc) · 691 Bytes
/
logger.js
File metadata and controls
40 lines (37 loc) · 691 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const log = (message, label) => {
console.log(
label ? `[${label}] ${message}` : message
);
};
class Logger {
constructor(lvl) {
this.level = lvl === undefined ? Logger.LEVELS.LOG : lvl;
}
debug(message) {
if (Logger.LEVELS.DEBUG >= this.level) {
log(message, 'debug');
}
}
log(message) {
if (Logger.LEVELS.LOG >= this.level) {
log(message);
}
}
warn(message) {
if (Logger.LEVELS.WARN >= this.level) {
log(message, 'warn');
}
}
error(message) {
if (Logger.LEVELS.ERROR >= this.level) {
log(message, 'error');
}
}
}
Logger.LEVELS = {
DEBUG: 0,
LOG: 1,
WARN: 2,
ERROR: 3,
};
export { Logger };