cn-shell
Version:
Cloud Native Shell
57 lines (56 loc) • 1.57 kB
JavaScript
;
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = exports.LogLevel = void 0;
const dayjs_1 = __importDefault(require("dayjs"));
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 = exports.LogLevel || (exports.LogLevel = {})));
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 `${(0, dayjs_1.default)(now).format(this._logTimestampFormat)} `;
}
}
exports.Logger = Logger;