2022-01-26 23:09:26 +01:00
|
|
|
/* MagicMirror²
|
2017-02-28 01:41:21 -03:00
|
|
|
* Utils
|
|
|
|
*
|
|
|
|
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
|
|
|
|
* MIT Licensed.
|
|
|
|
*/
|
2024-01-08 17:45:54 +01:00
|
|
|
const execSync = require("node:child_process").execSync;
|
2021-01-05 18:37:01 +01:00
|
|
|
const colors = require("colors/safe");
|
2024-01-04 22:38:53 +01:00
|
|
|
const Log = require("logger");
|
|
|
|
const si = require("systeminformation");
|
2017-02-28 01:41:21 -03:00
|
|
|
|
2021-01-05 18:37:01 +01:00
|
|
|
module.exports = {
|
2017-02-28 01:41:21 -03:00
|
|
|
colors: {
|
2017-03-05 22:20:35 -03:00
|
|
|
warn: colors.yellow,
|
2017-03-18 09:33:03 -03:00
|
|
|
error: colors.red,
|
2020-08-08 22:16:27 +02:00
|
|
|
info: colors.blue,
|
|
|
|
pass: colors.green
|
2024-01-04 22:38:53 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
async logSystemInformation () {
|
|
|
|
try {
|
2024-01-07 17:28:17 +01:00
|
|
|
let installedNodeVersion = execSync("node -v", { encoding: "utf-8" }).replace("v", "").replace(/(?:\r\n|\r|\n)/g, "");
|
2024-01-14 09:15:30 +01:00
|
|
|
|
|
|
|
const staticData = await si.get({
|
|
|
|
system: "manufacturer, model, raspberry, virtual",
|
|
|
|
osInfo: "platform, distro, release, arch",
|
|
|
|
versions: "kernel, node, npm, pm2"
|
|
|
|
});
|
2024-01-04 22:38:53 +01:00
|
|
|
let systemDataString = "System information:";
|
2024-01-07 17:28:17 +01:00
|
|
|
systemDataString += `\n### SYSTEM: manufacturer: ${staticData["system"]["manufacturer"]}; model: ${staticData["system"]["model"]}; raspberry: ${staticData["system"]["raspberry"]}; virtual: ${staticData["system"]["virtual"]}`;
|
2024-01-14 09:15:30 +01:00
|
|
|
systemDataString += `\n### OS: platform: ${staticData["osInfo"]["platform"]}; distro: ${staticData["osInfo"]["distro"]}; release: ${staticData["osInfo"]["release"]}; arch: ${staticData["osInfo"]["arch"]}; kernel: ${staticData["versions"]["kernel"]}`;
|
2024-01-07 17:28:17 +01:00
|
|
|
systemDataString += `\n### VERSIONS: electron: ${process.versions.electron}; used node: ${staticData["versions"]["node"]}; installed node: ${installedNodeVersion}; npm: ${staticData["versions"]["npm"]}; pm2: ${staticData["versions"]["pm2"]}`;
|
|
|
|
systemDataString += `\n### OTHER: timeZone: ${Intl.DateTimeFormat().resolvedOptions().timeZone}; ELECTRON_ENABLE_GPU: ${process.env.ELECTRON_ENABLE_GPU}`;
|
2024-01-04 22:38:53 +01:00
|
|
|
Log.info(systemDataString);
|
|
|
|
} catch (e) {
|
|
|
|
Log.error(e);
|
|
|
|
}
|
2017-02-28 01:41:21 -03:00
|
|
|
}
|
|
|
|
};
|