cn-shell
Version:
Cloud Native Shell
48 lines (47 loc) • 1.23 kB
JavaScript
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)} `;
}
}