From 80e153f861783bba7c25ee0c934e4362b9a7c2d2 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Fri, 27 Mar 2026 19:22:40 +0700 Subject: [PATCH] feat(desktop): add file logging with electron-log Logs from both main and renderer processes now persist to ~/Library/Logs/Paseo/main.log (macOS) with automatic rotation. Removes the unused webview_log IPC handler. --- package-lock.json | 10 ++++++++++ packages/desktop/package.json | 1 + packages/desktop/src/daemon/daemon-manager.ts | 6 ------ packages/desktop/src/main.ts | 3 +++ packages/desktop/src/preload.ts | 1 + 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 42e82697d..d11488b54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16718,6 +16718,15 @@ "node": ">=8" } }, + "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", @@ -35017,6 +35026,7 @@ "dependencies": { "@getpaseo/cli": "0.1.36", "@getpaseo/server": "0.1.36", + "electron-log": "^5.4.3", "electron-updater": "^6.6.2", "ws": "^8.14.2" }, diff --git a/packages/desktop/package.json b/packages/desktop/package.json index 66bf29c59..0b6449440 100644 --- a/packages/desktop/package.json +++ b/packages/desktop/package.json @@ -14,6 +14,7 @@ "dependencies": { "@getpaseo/cli": "0.1.36", "@getpaseo/server": "0.1.36", + "electron-log": "^5.4.3", "electron-updater": "^6.6.2", "ws": "^8.14.2" }, diff --git a/packages/desktop/src/daemon/daemon-manager.ts b/packages/desktop/src/daemon/daemon-manager.ts index 607ac91a4..d678662c8 100644 --- a/packages/desktop/src/daemon/daemon-manager.ts +++ b/packages/desktop/src/daemon/daemon-manager.ts @@ -545,12 +545,6 @@ export function createDaemonCommandHandlers(): Record getLocalDaemonVersion(), - webview_log: (args) => { - const level = typeof args?.level === "number" ? args.level : 1; - const message = typeof args?.message === "string" ? args.message : ""; - const method = level === 0 ? "debug" : level === 2 ? "warn" : level >= 3 ? "error" : "info"; - console[method]("[webview]", message); - }, }; } diff --git a/packages/desktop/src/main.ts b/packages/desktop/src/main.ts index b27669934..6f0b43ba5 100644 --- a/packages/desktop/src/main.ts +++ b/packages/desktop/src/main.ts @@ -1,3 +1,6 @@ +import log from "electron-log/main"; +log.initialize(); + import path from "node:path"; import { pathToFileURL } from "node:url"; import { existsSync } from "node:fs"; diff --git a/packages/desktop/src/preload.ts b/packages/desktop/src/preload.ts index e79096815..9d8f78b44 100644 --- a/packages/desktop/src/preload.ts +++ b/packages/desktop/src/preload.ts @@ -1,3 +1,4 @@ +import "electron-log/preload"; import { contextBridge, ipcRenderer } from "electron"; type EventHandler = (payload: unknown) => void;