nope-js-node
Version:
NoPE Runtime for Nodejs. For Browser-Support please use nope-browser
62 lines (61 loc) • 2.11 kB
JavaScript
;
/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @create date 2020-11-06 08:54:35
* @modify date 2022-01-03 18:02:49
* @desc [description]
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.defineNopeLogger = exports.getNopeLogger = exports.getCentralNopeLogger = void 0;
const singletonMethod_1 = require("../helpers/singletonMethod");
const nopeLogger_1 = require("./nopeLogger");
/**
* Return the central loger. This logger is a singleton (see {@link getSingleton})
*
* @author M.Karkowski
* @export
* @return {NopeLogger} A Returns the Logger {@link NopeLogger}
*/
function getCentralNopeLogger() {
const container = (0, singletonMethod_1.getSingleton)("nopeBackendLogger.instance", () => {
return new nopeLogger_1.NopeLogger();
});
return container.instance;
}
exports.getCentralNopeLogger = getCentralNopeLogger;
/**
* Helper Function, to create a Logger. Therefore it uses a specific Level and a Lable of the
* Logger. The Logger-Level can be overwritten by the central-logger see {@link getCentralNopeLogger}
*
*
* @export
* @param {LoggerLevel} level The Level, which should be rendered
* @param {string} [label=''] An Lable for the Logger. Every Message beginns with that lable.
* @return {*} Returns a Logger.
*/
function getNopeLogger(name, level) {
return getCentralNopeLogger().getLogger(name, level);
}
exports.getNopeLogger = getNopeLogger;
/**
* Helper to define a Logger based on the given Logger-Definition.
* Based on the type, a new logger is created ("LoggerLevel"), the
* provided Logger is used or if "false" no logger is returned.
*
* @author M.Karkowski
* @export
* @param {ValidLoggerDefinition} param
* @param {string} defaultName
* @return {*}
*/
function defineNopeLogger(param, defaultName) {
if (param == false) {
return undefined;
}
if (typeof param === "string") {
return getNopeLogger(defaultName, param);
}
return param;
}
exports.defineNopeLogger = defineNopeLogger;