plugins: Give each plugin a plugin-specific logger object

This makes it possible for plugins to stop assuming that log4js is
available at `ep_etherpad-lite/node_modules/log4js`.
This commit is contained in:
Richard Hansen 2022-02-21 03:25:32 -05:00
parent daee90d2af
commit 1513932ca1
3 changed files with 10 additions and 2 deletions

View file

@ -98,7 +98,10 @@ exports.update = async () => {
defs.parts = sortParts(parts);
defs.hooks = pluginUtils.extractHooks(defs.parts, 'hooks', exports.pathNormalization);
defs.loaded = true;
await Promise.all(Object.keys(defs.plugins).map((p) => hooks.aCallAll(`init_${p}`, {})));
await Promise.all(Object.keys(defs.plugins).map(async (p) => {
const logger = log4js.getLogger(`plugin:${p}`);
await hooks.aCallAll(`init_${p}`, {logger});
}));
};
exports.getPackages = async () => {