diff --git a/package-lock.json b/package-lock.json index 02d8b90..1e5a02d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "better-sqlite3": "^12.6.2", + "electron-log": "^5.4.3", "electron-updater": "^6.8.3", "font-list": "^2.0.2", "node-pty": "^1.0.0", @@ -4518,6 +4519,15 @@ "node": ">= 10.0.0" } }, + "node_modules/electron-log": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.4.3.tgz", + "integrity": "sha512-sOUsM3LjZdugatazSQ/XTyNcw8dfvH1SYhXWiJyfYodAAKOZdHs0txPiLDXFzOZbhXgAgshQkshH2ccq0feyLQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, "node_modules/electron-publish": { "version": "26.8.1", "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.8.1.tgz", diff --git a/package.json b/package.json index 3c407ab..751c98a 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "better-sqlite3": "^12.6.2", + "electron-log": "^5.4.3", "electron-updater": "^6.8.3", "font-list": "^2.0.2", "node-pty": "^1.0.0", diff --git a/src/main/index.ts b/src/main/index.ts index 72278b9..48c99db 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,3 +1,4 @@ +import "./logger.js"; import { execFileSync } from "node:child_process"; import path from "node:path"; import { app, BrowserWindow, Menu } from "electron"; diff --git a/src/main/logger.ts b/src/main/logger.ts new file mode 100644 index 0000000..63e153e --- /dev/null +++ b/src/main/logger.ts @@ -0,0 +1,10 @@ +import log from "electron-log/main"; + +// Writes to ~/Library/Logs/Codez/main.log +// Also forwards renderer console output to the same file via IPC +log.initialize({ spyRendererConsole: true }); + +// Override console so all existing console.log/error/warn calls are captured +Object.assign(console, log.functions); + +export default log;