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