open-collaboration-server
Version:
Open Collaboration Server implementation, part of the Open Collaboration Tools project
94 lines • 3.38 kB
JavaScript
// ******************************************************************************
// Copyright 2024 TypeFox GmbH
// This program and the accompanying materials are made available under the
// terms of the MIT License, which is available in the project root.
// ******************************************************************************
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { inject, injectable, postConstruct } from 'inversify';
import { Configuration } from './configuration.js';
export var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["none"] = 0] = "none";
LogLevel[LogLevel["error"] = 1] = "error";
LogLevel[LogLevel["warn"] = 2] = "warn";
LogLevel[LogLevel["info"] = 3] = "info";
LogLevel[LogLevel["debug"] = 4] = "debug";
})(LogLevel || (LogLevel = {}));
export const Logger = Symbol('Logger');
let ConsoleLogger = class ConsoleLogger {
configuration;
logLevel = LogLevel.info;
initialize() {
const logLevel = this.checkLogLevel(this.configuration.getValue('log-level'));
if (logLevel) {
this.logLevel = logLevel;
}
}
checkLogLevel(logLevel) {
if (!logLevel) {
return undefined;
}
switch (logLevel) {
case 'none':
case '0':
return LogLevel.none;
case 'error':
case '1':
return LogLevel.error;
case 'warn':
case '2':
return LogLevel.warn;
case 'info':
case '3':
return LogLevel.info;
case 'debug':
case '4':
return LogLevel.debug;
default:
this.warn(`Invalid log level: ${logLevel}`);
return undefined;
}
}
error(message, ...params) {
if (this.logLevel >= LogLevel.error) {
console.error(message, ...params);
}
}
createErrorAndLog(message, ...params) {
if (this.logLevel >= LogLevel.error) {
this.error(message, ...params);
}
return new Error(message);
}
warn(message, ...params) {
if (this.logLevel >= LogLevel.warn) {
console.warn(message, ...params);
}
}
info(message, ...params) {
if (this.logLevel >= LogLevel.info) {
console.log(message, ...params);
}
}
debug(message, ...params) {
if (this.logLevel >= LogLevel.debug) {
console.debug(message, ...params);
}
}
};
__decorate([
inject(Configuration)
], ConsoleLogger.prototype, "configuration", void 0);
__decorate([
postConstruct()
], ConsoleLogger.prototype, "initialize", null);
ConsoleLogger = __decorate([
injectable()
], ConsoleLogger);
export { ConsoleLogger };
//# sourceMappingURL=logging.js.map