diff --git a/desktop/src/main/log.ts b/desktop/src/main/log.ts index 8787a530d..0d20ad9da 100644 --- a/desktop/src/main/log.ts +++ b/desktop/src/main/log.ts @@ -15,7 +15,7 @@ import { isDev } from "./util"; */ export const initLogging = () => { log.transports.file.fileName = "ente.log"; - log.transports.file.maxSize = 50 * 1024 * 1024; // 50MB; + log.transports.file.maxSize = 50 * 1024 * 1024; // 50 MB log.transports.file.format = "[{y}-{m}-{d}T{h}:{i}:{s}{z}] {text}"; log.transports.console.level = false; @@ -82,7 +82,7 @@ const logInfo = (...params: any[]) => { }; const logDebug = (param: () => any) => { - if (isDev) console.log(`[debug] ${util.inspect(param())}`); + if (isDev) console.log(`[main] [debug] ${util.inspect(param())}`); }; /** diff --git a/desktop/src/services/appUpdater.ts b/desktop/src/services/appUpdater.ts index 98db606a4..517fc98e9 100644 --- a/desktop/src/services/appUpdater.ts +++ b/desktop/src/services/appUpdater.ts @@ -1,9 +1,9 @@ import { compareVersions } from "compare-versions"; import { app, BrowserWindow } from "electron"; -import { default as ElectronLog, default as log } from "electron-log"; +import { default as electronLog } from "electron-log"; import { autoUpdater } from "electron-updater"; import { setIsAppQuitting, setIsUpdateAvailable } from "../main"; -import { logErrorSentry } from "../main/log"; +import log from "../main/log"; import { AppUpdateInfo } from "../types/ipc"; import { clearMuteUpdateNotificationVersion, @@ -18,7 +18,7 @@ const FIVE_MIN_IN_MICROSECOND = 5 * 60 * 1000; const ONE_DAY_IN_MICROSECOND = 1 * 24 * 60 * 60 * 1000; export function setupAutoUpdater(mainWindow: BrowserWindow) { - autoUpdater.logger = log; + autoUpdater.logger = electronLog; autoUpdater.autoDownload = false; checkForUpdateAndNotify(mainWindow); setInterval( @@ -33,49 +33,36 @@ export function forceCheckForUpdateAndNotify(mainWindow: BrowserWindow) { clearMuteUpdateNotificationVersion(); checkForUpdateAndNotify(mainWindow); } catch (e) { - logErrorSentry(e, "forceCheckForUpdateAndNotify failed"); + log.error("forceCheckForUpdateAndNotify failed", e); } } async function checkForUpdateAndNotify(mainWindow: BrowserWindow) { try { - log.debug("checkForUpdateAndNotify called"); - const updateCheckResult = await autoUpdater.checkForUpdates(); - log.debug("update version", updateCheckResult.updateInfo.version); - if ( - compareVersions( - updateCheckResult.updateInfo.version, - app.getVersion(), - ) <= 0 - ) { - log.debug("already at latest version"); + log.debug(() => "checkForUpdateAndNotify"); + const { updateInfo } = await autoUpdater.checkForUpdates(); + log.debug(() => `Update version ${updateInfo.version}`); + if (compareVersions(updateInfo.version, app.getVersion()) <= 0) { + log.debug(() => "Skipping update, already at latest version"); return; } const skipAppVersion = getSkipAppVersion(); - if ( - skipAppVersion && - updateCheckResult.updateInfo.version === skipAppVersion - ) { - log.info( - "user chose to skip version ", - updateCheckResult.updateInfo.version, - ); + if (skipAppVersion && updateInfo.version === skipAppVersion) { + log.info(`User chose to skip version ${updateInfo.version}`); return; } let timeout: NodeJS.Timeout; - log.debug("attempting auto update"); + log.debug(() => "Attempting auto update"); autoUpdater.downloadUpdate(); const muteUpdateNotificationVersion = getMuteUpdateNotificationVersion(); if ( muteUpdateNotificationVersion && - updateCheckResult.updateInfo.version === - muteUpdateNotificationVersion + updateInfo.version === muteUpdateNotificationVersion ) { log.info( - "user chose to mute update notification for version ", - updateCheckResult.updateInfo.version, + `User has muted update notifications for version ${updateInfo.version}`, ); return; } @@ -84,28 +71,28 @@ async function checkForUpdateAndNotify(mainWindow: BrowserWindow) { () => showUpdateDialog(mainWindow, { autoUpdatable: true, - version: updateCheckResult.updateInfo.version, + version: updateInfo.version, }), FIVE_MIN_IN_MICROSECOND, ); }); autoUpdater.on("error", (error) => { clearTimeout(timeout); - logErrorSentry(error, "auto update failed"); + log.error("Auto update failed", error); showUpdateDialog(mainWindow, { autoUpdatable: false, - version: updateCheckResult.updateInfo.version, + version: updateInfo.version, }); }); setIsUpdateAvailable(true); } catch (e) { - logErrorSentry(e, "checkForUpdateAndNotify failed"); + log.error("checkForUpdateAndNotify failed", e); } } export function updateAndRestart() { - ElectronLog.log("user quit the app"); + log.info("user quit the app"); setIsAppQuitting(true); autoUpdater.quitAndInstall(); } diff --git a/desktop/src/services/fs.ts b/desktop/src/services/fs.ts index d36317720..f8f22cf27 100644 --- a/desktop/src/services/fs.ts +++ b/desktop/src/services/fs.ts @@ -2,7 +2,7 @@ import StreamZip from "node-stream-zip"; import { existsSync } from "node:fs"; import fs from "node:fs/promises"; import path from "node:path"; -import { logError } from "../main/log"; +import log from "../main/log"; import { ElectronFile } from "../types/ipc"; const FILE_STREAM_CHUNK_SIZE: number = 4 * 1024 * 1024; @@ -179,7 +179,7 @@ export const getZipFileStream = async ( controller.close(); } } catch (e) { - logError(e, "readableStream pull failed"); + log.error("Failed to pull from readableStream", e); controller.close(); } }, diff --git a/desktop/src/services/imageProcessor.ts b/desktop/src/services/imageProcessor.ts index f6a567f8c..e397b379e 100644 --- a/desktop/src/services/imageProcessor.ts +++ b/desktop/src/services/imageProcessor.ts @@ -3,7 +3,7 @@ import fs from "node:fs/promises"; import path from "path"; import { CustomErrors } from "../constants/errors"; import { writeStream } from "../main/fs"; -import { logError, logErrorSentry } from "../main/log"; +import log from "../main/log"; import { execAsync, isDev } from "../main/util"; import { ElectronFile } from "../types/ipc"; import { isPlatform } from "../utils/common/platform"; @@ -103,18 +103,21 @@ async function convertToJPEG_( return new Uint8Array(await fs.readFile(tempOutputFilePath)); } catch (e) { - logErrorSentry(e, "failed to convert heic"); + log.error("Failed to convert HEIC", e); throw e; } finally { try { await fs.rm(tempInputFilePath, { force: true }); } catch (e) { - logErrorSentry(e, "failed to remove tempInputFile"); + log.error(`Failed to remove tempInputFile ${tempInputFilePath}`, e); } try { await fs.rm(tempOutputFilePath, { force: true }); } catch (e) { - logErrorSentry(e, "failed to remove tempOutputFile"); + log.error( + `Failed to remove tempOutputFile ${tempOutputFilePath}`, + e, + ); } } } @@ -187,7 +190,7 @@ export async function generateImageThumbnail( try { await deleteTempFile(inputFilePath); } catch (e) { - logError(e, "failed to deleteTempFile"); + log.error(`Failed to deleteTempFile ${inputFilePath}`, e); } } } @@ -217,13 +220,16 @@ async function generateImageThumbnail_( } while (thumbnail.length > maxSize && quality > MIN_QUALITY); return thumbnail; } catch (e) { - logErrorSentry(e, "generate image thumbnail failed"); + log.error("Failed to generate image thumbnail", e); throw e; } finally { try { await fs.rm(tempOutputFilePath, { force: true }); } catch (e) { - logErrorSentry(e, "failed to remove tempOutputFile"); + log.error( + `Failed to remove tempOutputFile ${tempOutputFilePath}`, + e, + ); } } }