diff --git a/lib/appenders/ignoreBrowser.js b/lib/appenders/ignoreBrowser.js new file mode 100644 index 0000000..e69de29 diff --git a/lib/clusteringBrowser.js b/lib/clusteringBrowser.js new file mode 100644 index 0000000..fcae301 --- /dev/null +++ b/lib/clusteringBrowser.js @@ -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); + }, +}; diff --git a/package.json b/package.json index abe28e8..14a861c 100644 --- a/package.json +++ b/package.json @@ -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",