Merge pull request #1374 from aellerton/master

Idempotent logging on browser
This commit is contained in:
Lam Wei Li 2023-03-07 14:52:26 +08:00 committed by GitHub
commit faebee0e82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 1 deletions

View File

19
lib/clusteringBrowser.js Normal file
View File

@ -0,0 +1,19 @@
/* 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);
},
};

View File

@ -73,7 +73,13 @@
"typescript": "^4.9.5"
},
"browser": {
"os": false
"os": false,
"streamroller": false,
"./lib/clustering.js": "./lib/clusteringBrowser.js",
"./lib/appenders/dateFile.js": "./lib/appenders/ignoreBrowser.js",
"./lib/appenders/file.js": "./lib/appenders/ignoreBrowser.js",
"./lib/appenders/fileSync.js": "./lib/appenders/ignoreBrowser.js",
"./lib/appenders/multiFile.js": "./lib/appenders/ignoreBrowser.js"
},
"prettier": {
"trailingComma": "es5",