/
index.js
51 lines (43 loc) · 1.22 KB
/
index.js
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
41
42
43
44
45
46
47
48
49
50
51
const chalk = require('chalk');
/**
* A simple logger utility for logging messages with different log levels.
*/
class Logger {
constructor(prefix) {
this.prefix = prefix || '';
}
/**
* Log a message at the 'log' level.
* @param {string} message - The message to log.
*/
log(message) {
this.printLog('log', message, chalk.green);
}
/**
* Log a message at the 'info' level.
* @param {string} message - The message to log.
*/
info(message) {
this.printLog('info', message, chalk.blue);
}
/**
* Log a message at the 'warn' level.
* @param {string} message - The message to log.
*/
warn(message) {
this.printLog('warn', message, chalk.yellow);
}
/**
* Log a message at the 'error' level.
* @param {string} message - The message to log.
*/
error(message) {
this.printLog('error', message, chalk.red);
}
printLog(type, message, color) {
const timestamp = new Date().toLocaleString();
const logMessage = `[${timestamp}] [${type.toUpperCase()}]${this.prefix ? ` [${this.prefix}]` : ''}: ${message}`;
console.log(color(logMessage));
}
}
module.exports = Logger;