UNPKG

open-collaboration-server

Version:

Open Collaboration Server implementation, part of the Open Collaboration Tools project

94 lines 3.38 kB
// ****************************************************************************** // 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