1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const config_1 = require("./config");
|
4 | const levels = [
|
5 | 'debug',
|
6 | 'info',
|
7 | 'warn',
|
8 | 'error',
|
9 | 'none'
|
10 | ];
|
11 | const levelToInt = {};
|
12 | const intToLevel = {};
|
13 | for (let index = 0; index < levels.length; index++) {
|
14 | const level = levels[index];
|
15 | levelToInt[level] = index;
|
16 | intToLevel[index] = level;
|
17 | }
|
18 |
|
19 |
|
20 |
|
21 | class Logger {
|
22 | static error(message) {
|
23 | if (!this.shouldLog('error'))
|
24 | return;
|
25 | console.error(this.logMessage('error', message));
|
26 | }
|
27 | static warn(message) {
|
28 | if (!this.shouldLog('warn'))
|
29 | return;
|
30 | console.warn(this.logMessage('warn', message));
|
31 | }
|
32 | static info(message) {
|
33 | if (!this.shouldLog('info'))
|
34 | return;
|
35 | console.log(this.logMessage('info', message));
|
36 | }
|
37 | static debug(message) {
|
38 | if (!this.shouldLog('debug'))
|
39 | return;
|
40 | console.log(this.logMessage('debug', message));
|
41 | }
|
42 | static logMessage(level, message) {
|
43 | return `[${level.toUpperCase()}] ${message}`;
|
44 | }
|
45 | static shouldLog(level) {
|
46 | const currentLevel = levelToInt[config_1.config.logLevel];
|
47 | return currentLevel <= levelToInt[level];
|
48 | }
|
49 | }
|
50 | exports.Logger = Logger;
|
51 |
|
\ | No newline at end of file |