@bitrix/logger
Version:
73 lines (56 loc) • 1.41 kB
JavaScript
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
const envLevel = typeof process.env.LOGGER_LEVEL === 'string' ? parseInt(process.env.LOGGER_LEVEL) : null;
class Logger {
static setLevel(level) {
if (typeof envLevel !== 'number') {
if (typeof level === 'number') {
Logger.level = level;
}
}
}
static log(...args) {
if (Logger.level >= Logger.LOG) {
console.log(...args);
}
}
static info(...args) {
if (Logger.level >= Logger.INFO) {
console.info(...args);
}
}
static warn(...args) {
if (Logger.level >= Logger.WARN) {
console.warn(...args);
}
}
static error(...args) {
if (Logger.level >= Logger.ERROR) {
console.error(...args);
}
}
static debug(...args) {
if (Logger.level >= Logger.DEBUG) {
console.log('[debug]:', ...args);
}
}
}
_defineProperty(Logger, "NONE", 0);
_defineProperty(Logger, "LOG", 1);
_defineProperty(Logger, "INFO", 2);
_defineProperty(Logger, "WARN", 3);
_defineProperty(Logger, "ERROR", 4);
_defineProperty(Logger, "DEBUG", 5);
_defineProperty(Logger, "level", typeof envLevel === 'number' ? envLevel : Logger.ERROR);
export default Logger;