@theia/core
Version:
Theia is a cloud & desktop IDE framework implemented in TypeScript.
103 lines • 4.28 kB
JavaScript
// *****************************************************************************
// Copyright (C) 2017 Ericsson and others.
//
// This program and the accompanying materials are made available under the
// terms of the Eclipse Public License v. 2.0 which is available at
// http://www.eclipse.org/legal/epl-2.0.
//
// This Source Code may also be made available under the following Secondary
// Licenses when the conditions for such availability set forth in the Eclipse
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
// with the GNU Classpath Exception which is available at
// https://www.gnu.org/software/classpath/license.html.
//
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
// *****************************************************************************
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConsoleLogger = exports.LogLevel = exports.rootLoggerName = exports.DispatchingLoggerClient = exports.ILoggerClient = exports.loggerPath = exports.ILoggerServer = void 0;
const tslib_1 = require("tslib");
const inversify_1 = require("inversify");
exports.ILoggerServer = Symbol('ILoggerServer');
exports.loggerPath = '/services/logger';
exports.ILoggerClient = Symbol('ILoggerClient');
let DispatchingLoggerClient = class DispatchingLoggerClient {
constructor() {
this.clients = new Set();
}
onLogLevelChanged(event) {
this.clients.forEach(client => client.onLogLevelChanged(event));
}
onLogConfigChanged() {
this.clients.forEach(client => client.onLogConfigChanged());
}
};
exports.DispatchingLoggerClient = DispatchingLoggerClient;
exports.DispatchingLoggerClient = DispatchingLoggerClient = tslib_1.__decorate([
(0, inversify_1.injectable)()
], DispatchingLoggerClient);
exports.rootLoggerName = 'root';
var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["FATAL"] = 60] = "FATAL";
LogLevel[LogLevel["ERROR"] = 50] = "ERROR";
LogLevel[LogLevel["WARN"] = 40] = "WARN";
LogLevel[LogLevel["INFO"] = 30] = "INFO";
LogLevel[LogLevel["DEBUG"] = 20] = "DEBUG";
LogLevel[LogLevel["TRACE"] = 10] = "TRACE";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
(function (LogLevel) {
LogLevel.strings = new Map([
[LogLevel.FATAL, 'fatal'],
[LogLevel.ERROR, 'error'],
[LogLevel.WARN, 'warn'],
[LogLevel.INFO, 'info'],
[LogLevel.DEBUG, 'debug'],
[LogLevel.TRACE, 'trace']
]);
function toString(level) {
return LogLevel.strings.get(level);
}
LogLevel.toString = toString;
function fromString(levelStr) {
for (const pair of LogLevel.strings) {
if (pair[1] === levelStr) {
return pair[0];
}
}
return undefined;
}
LogLevel.fromString = fromString;
})(LogLevel || (exports.LogLevel = LogLevel = {}));
/* eslint-disable @typescript-eslint/no-explicit-any */
var ConsoleLogger;
(function (ConsoleLogger) {
const originalConsoleLog = console.log;
const consoles = new Map([
[LogLevel.FATAL, console.error],
[LogLevel.ERROR, console.error],
[LogLevel.WARN, console.warn],
[LogLevel.INFO, console.info],
[LogLevel.DEBUG, console.debug],
[LogLevel.TRACE, console.trace]
]);
function reset() {
console.error = consoles.get(LogLevel.ERROR);
console.warn = consoles.get(LogLevel.WARN);
console.info = consoles.get(LogLevel.INFO);
console.debug = consoles.get(LogLevel.DEBUG);
console.trace = consoles.get(LogLevel.TRACE);
console.log = originalConsoleLog;
}
ConsoleLogger.reset = reset;
function log(name, logLevel, message, params) {
const console = consoles.get(logLevel) || originalConsoleLog;
const severity = (LogLevel.strings.get(logLevel) || 'unknown').toUpperCase();
const now = new Date();
const formattedMessage = `${now.toISOString()} ${name} ${severity} ${message}`;
console(formattedMessage, ...params);
return formattedMessage;
}
ConsoleLogger.log = log;
})(ConsoleLogger || (exports.ConsoleLogger = ConsoleLogger = {}));
//# sourceMappingURL=logger-protocol.js.map
;