You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
const SyncBailHook = require("tapable/lib/SyncBailHook"); const { Logger } = require("./Logger"); const createConsoleLogger = require("./createConsoleLogger");
/** @type {createConsoleLogger.LoggerOptions} */ let currentDefaultLoggerOptions = { level: "info", debug: false, console }; let currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions);
/** * @param {string} name name of the logger * @returns {Logger} a logger */ exports.getLogger = name => { return new Logger((type, args) => { if (exports.hooks.log.call(name, type, args) === undefined) { currentDefaultLogger(name, type, args); } }); };
/** * @param {createConsoleLogger.LoggerOptions} options new options, merge with old options * @returns {void} */ exports.configureDefaultLogger = options => { Object.assign(currentDefaultLoggerOptions, options); currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions); };
exports.hooks = { log: new SyncBailHook(["origin", "type", "args"]) };
|