UNPKG

f2e-server3

Version:

f2e-server 3.0

67 lines (66 loc) 2.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = exports.Logger = exports.LogLevelOptions = exports.LogLevel = void 0; var LogLevel; (function (LogLevel) { LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG"; LogLevel[LogLevel["INFO"] = 1] = "INFO"; LogLevel[LogLevel["LOG"] = 1] = "LOG"; LogLevel[LogLevel["WARN"] = 2] = "WARN"; LogLevel[LogLevel["ERROR"] = 3] = "ERROR"; LogLevel[LogLevel["OFF"] = 5] = "OFF"; })(LogLevel || (exports.LogLevel = LogLevel = {})); const LogTypeShow = { debug: 'DEBUG', info: 'INFO', log: 'LOG', warn: 'WARN', error: 'ERROR', }; exports.LogLevelOptions = ['DEBUG', 'INFO', 'LOG', 'WARN', 'ERROR', 'OFF']; const time_show_map = {}; class Logger { _level; setLevel = (level) => { if (typeof level === 'string') { this._level = LogLevel[level]; } else { this._level = level; } }; _console; constructor(level = LogLevel.ERROR, _console) { this._level = level; this._console = _console || console; } logWrapper(level, type, ...data) { if (this._level <= level) { const now = new Date(); const time = Math.floor(now.getTime() / 1000); const show = time_show_map[time] || (time_show_map[time] = now.toLocaleString()); this._console[type](show, LogTypeShow[type], ...data); } } log = (...data) => this.logWrapper(LogLevel.INFO, 'log', ...data); debug = (...data) => this.logWrapper(LogLevel.DEBUG, 'debug', ...data); info = (...data) => this.logWrapper(LogLevel.INFO, 'info', ...data); warn = (...data) => this.logWrapper(LogLevel.WARN, 'warn', ...data); error = (...data) => this.logWrapper(LogLevel.ERROR, 'error', ...data); } exports.Logger = Logger; let level = LogLevel.INFO; try { const logLevelEnv = process.env.LOG_LEVEL; if (/^[0123]$/.test(logLevelEnv || "")) { level = parseInt(logLevelEnv || "1", 10); } else if (process.argv.find(arg => arg === "--debug")) { level = LogLevel.DEBUG; } } catch (error) { console.error("Failed to parse LOG_LEVEL:", error); } exports.logger = new Logger(level); exports.default = exports.logger;