UNPKG

cn-shell

Version:
48 lines (47 loc) 1.23 kB
import dayjs from "dayjs"; export var LogLevel; (function (LogLevel) { LogLevel[(LogLevel["LOG_COMPLETE_SILENCE"] = 0)] = "LOG_COMPLETE_SILENCE"; LogLevel[(LogLevel["LOG_QUIET"] = 100)] = "LOG_QUIET"; LogLevel[(LogLevel["LOG_INFO"] = 200)] = "LOG_INFO"; LogLevel[(LogLevel["LOG_START_UP"] = 250)] = "LOG_START_UP"; LogLevel[(LogLevel["LOG_DEBUG"] = 300)] = "LOG_DEBUG"; LogLevel[(LogLevel["LOG_TRACE"] = 400)] = "LOG_TRACE"; })(LogLevel || (LogLevel = {})); export class Logger { _name; _level; _logTimestamps; _logTimestampFormat; _started; constructor(name, logTimestamps, timestampFormat) { this._name = name; this._logTimestamps = logTimestamps; this._logTimestampFormat = timestampFormat; this._started = false; } start() { this._started = true; return; } stop() { this._started = false; return; } set level(level) { this._level = level; } get started() { return this._started; } timestamp() { if (this._logTimestamps === false) { return ""; } let now = new Date(); if (this._logTimestampFormat === "ISO") { return now.toISOString(); } return `${dayjs(now).format(this._logTimestampFormat)} `; } }