log4js-node/lib/clusteringBrowser.js
aje d0f5b70b1d Idempotent logging on browser
Certain modules do not exist in a browser environment.
In that environment, file-based appenders are effectively
disabled by this commit, without modifying the source directly.
2023-03-07 14:26:12 +08:00

20 lines
481 B
JavaScript

/* istanbul ignore file */
// This is used in browsers only and is designed to allow the rest of
// log4js to continue as if `clustering.js` is in use.
const isMaster = () => true;
const listeners = [];
const sendToListeners = (logEvent) => {
listeners.forEach((l) => l(logEvent));
};
module.exports = {
onlyOnMaster: (fn, notMaster) => (isMaster() ? fn() : notMaster),
isMaster,
send: sendToListeners,
onMessage: (listener) => {
listeners.push(listener);
},
};