From 30421f0de430c31530ff8daa9b8e93873012e2a4 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Mon, 7 Sep 2020 15:07:56 +0200 Subject: [PATCH] Enabled file logging for the backend process. Signed-off-by: Akos Kitta --- electron/build/patch/main.js | 29 ++++++++++++++++++++++++++++ electron/build/template-package.json | 5 ++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 electron/build/patch/main.js diff --git a/electron/build/patch/main.js b/electron/build/patch/main.js new file mode 100644 index 00000000..b55784df --- /dev/null +++ b/electron/build/patch/main.js @@ -0,0 +1,29 @@ +// @ts-check +const { setup, log } = require('node-log-rotate'); +setup({ + appName: 'Arduino Pro IDE', + maxSize: 10 * 1024 * 1024 +}); +for (const name of ['log', 'trace', 'info', 'warn', 'error']) { + const original = console[name]; + console[name] = (data => { + original(data); + log(data); + }).bind(console); +} + +const { BackendApplicationConfigProvider } = require('@theia/core/lib/node/backend-application-config-provider'); +const main = require('@theia/core/lib/node/main'); +BackendApplicationConfigProvider.set({ + "configDirName": ".arduinoProIDE", + "singleInstance": true +}); + +const serverModule = require('./server'); +const serverAddress = main.start(serverModule()); +serverAddress.then(function ({ port, address }) { + if (process && process.send) { + process.send({ port, address }); + } +}); +module.exports = serverAddress; diff --git a/electron/build/template-package.json b/electron/build/template-package.json index ef855551..96365cee 100644 --- a/electron/build/template-package.json +++ b/electron/build/template-package.json @@ -4,6 +4,9 @@ "resolutions": { "**/fs-extra": "^4.0.3" }, + "dependencies": { + "node-log-rotate": "^0.1.5" + }, "devDependencies": { "@theia/cli": "next", "cross-env": "^7.0.2", @@ -19,7 +22,7 @@ "package": "cross-env DEBUG=* && electron-builder --publish=never", "package:publish": "cross-env DEBUG=* && electron-builder --publish=always", "download:plugins": "theia download:plugins", - "patch": "ncp ./patch/electron-main.js ./src-gen/frontend/electron-main.js" + "patch": "ncp ./patch/electron-main.js ./src-gen/frontend/electron-main.js && ncp ./patch/main.js ./src-gen/backend/main.js" }, "engines": { "node": ">=10.11.0 <13"