MCPcopy Create free account
hub / github.com/TeleBoxOrg/TeleBox_Plugins / Logger

Class Logger

scripts/update-template.js:43–70  ·  view source on GitHub ↗

* 日志记录器

Source from the content-addressed store, hash-verified

41 * 日志记录器
42 */
43class Logger {
44 static levels = {
45 DEBUG: 0,
46 INFO: 1,
47 WARN: 2,
48 ERROR: 3
49 };
50
51 constructor(level = Logger.levels.INFO) {
52 this.level = level;
53 }
54
55 _log(level, emoji, message, data = null) {
56 if (level >= this.level) {
57 const timestamp = new Date().toISOString();
58 const logMessage = `[${timestamp}] ${emoji} ${message}`;
59 console.log(logMessage);
60 if (data && level >= Logger.levels.DEBUG) {
61 console.log(' 📊 Data:', JSON.stringify(data, null, 2));
62 }
63 }
64 }
65
66 debug(message, data) { this._log(Logger.levels.DEBUG, '🔍', message, data); }
67 info(message, data) { this._log(Logger.levels.INFO, '📢', message, data); }
68 warn(message, data) { this._log(Logger.levels.WARN, '⚠️', message, data); }
69 error(message, data) { this._log(Logger.levels.ERROR, '❌', message, data); }
70}
71
72const logger = new Logger(process.env.LOG_LEVEL === 'DEBUG' ? Logger.levels.DEBUG : Logger.levels.INFO);
73

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected