From 08180e8f3b62ee64db43e31deaba3979caa23b4a Mon Sep 17 00:00:00 2001 From: Jonas Date: Wed, 10 Jan 2024 01:10:53 +0100 Subject: [PATCH] Logger now requires Suffix which should be the FileName --- .../NotificationContext.tsx | 2 +- .../ProjectSwitcher/ProjectSwitcher.tsx | 2 +- src/components/TitleBar/utils.tsx | 2 +- src/config/auth.ts | 2 +- src/helpers/Logger.ts | 14 +++++----- src/helpers/StorageManager.ts | 6 ++-- src/screens/App/App.tsx | 14 +++++----- src/screens/App/AppUtils.ts | 22 +++++++-------- .../JenkinsConnectionChecker.ts | 2 +- .../App/updateChecker/updateChecker.ts | 8 +++--- src/screens/ErrorBoundary/ErrorBoundary.tsx | 2 +- src/screens/Jarvis/JarvisMain.tsx | 6 ++-- src/screens/Jarvis/Utils/JarivsUtils.tsx | 28 +++++++++---------- .../Jarvis/Views/BuildView/BuildView.tsx | 8 +++--- .../Jarvis/Views/ConsoleView/ConsoleView.tsx | 25 ++++++++++------- .../Views/ConsoleView/ConsoleViewStyleDict.ts | 2 +- .../Views/ConsoleView/ConsoleViewUtils.tsx | 2 +- .../Jarvis/Views/ConsoleView/worker.ts | 2 +- .../Views/SettingsView/ButtonEvents.tsx | 6 ++-- .../Views/SettingsView/SettingsView.tsx | 2 +- .../Jarvis/Views/TestReport/TestReport.tsx | 2 +- src/screens/Onboarding/OnboardingStep1.tsx | 2 +- src/screens/Onboarding/OnboardingStep2.tsx | 4 +-- 23 files changed, 85 insertions(+), 80 deletions(-) diff --git a/src/components/NotificationManager/NotificationContext.tsx b/src/components/NotificationManager/NotificationContext.tsx index cfa9288..dd1b3a1 100644 --- a/src/components/NotificationManager/NotificationContext.tsx +++ b/src/components/NotificationManager/NotificationContext.tsx @@ -44,7 +44,7 @@ export function useNotification() { } return context; } catch (error) { - Logger.error("Error using notification:", error); + Logger.error("NotificationContext.tsx", "Error using notification:", error); return { showNotification: () => { }, showBannerNotification: () => { }, hideNotification: () => { } }; } } diff --git a/src/components/ProjectSwitcher/ProjectSwitcher.tsx b/src/components/ProjectSwitcher/ProjectSwitcher.tsx index 4c20895..3a3088c 100644 --- a/src/components/ProjectSwitcher/ProjectSwitcher.tsx +++ b/src/components/ProjectSwitcher/ProjectSwitcher.tsx @@ -93,7 +93,7 @@ const ProjectSwitcher = (): React.ReactElement => { setModalData(data); setIsModalOpen(true); // Open the modal } catch (error) { - Logger.error(error); + Logger.error("ProjectSwitcher.tsx", error); notification.showNotification("Error", "Something went wrong.", "error"); } }; diff --git a/src/components/TitleBar/utils.tsx b/src/components/TitleBar/utils.tsx index ec00065..b2f54db 100644 --- a/src/components/TitleBar/utils.tsx +++ b/src/components/TitleBar/utils.tsx @@ -21,7 +21,7 @@ export const renderSysButtons = (): React.JSX.Element => { return ; } } catch (error) { - Logger.error("Error while rendering sysButtons", error); + Logger.error("TitleBar/utils.tsx", "Error while rendering sysButtons", error); return ; } }; diff --git a/src/config/auth.ts b/src/config/auth.ts index 9448e43..60fa31a 100644 --- a/src/config/auth.ts +++ b/src/config/auth.ts @@ -10,7 +10,7 @@ export const getAuthDetails = (): AuthDetails | null => { }; if (!authDetails.baseurl || !authDetails.username || !authDetails.apitoken) { - Logger.error("Missing auth details. Is Onboarding complete?"); + Logger.error("config/auth.ts", "Missing auth details. Is Onboarding complete?"); return null; } diff --git a/src/helpers/Logger.ts b/src/helpers/Logger.ts index 2ad0277..3f37342 100644 --- a/src/helpers/Logger.ts +++ b/src/helpers/Logger.ts @@ -5,11 +5,11 @@ import { ErrorInfo } from "react"; import { LOGS_FILE } from "../config/constants"; const Logger = { - info: (...messages: T) => logMessage("INFO", "color: #3b82f6;", ...messages), - debug: (...messages: T) => logMessage("DEBUG", "color: #7c3aed;", ...messages), - warning: (...messages: T) => logMessage("WARNING", "color: #d97706;", ...messages), - error: (...messages: T) => logMessage("ERROR", "color: #ef4444;", ...messages), - fatal: (...messages: T) => logMessage("FATAL", "color: #ef4444; background: black", ...messages), + info: (suffix: string, ...messages: T) => logMessage("INFO - " + suffix, "color: #3b82f6;", ...messages), + debug: (suffix: string, ...messages: T) => logMessage("DEBUG - " + suffix, "color: #7c3aed;", ...messages), + warning: (suffix: string, ...messages: T) => logMessage("WARNING - " + suffix, "color: #d97706;", ...messages), + error: (suffix: string, ...messages: T) => logMessage("ERROR - " + suffix, "color: #ef4444;", ...messages), + fatal: (suffix: string, ...messages: T) => logMessage("FATAL - " + suffix, "color: #ef4444; background: black", ...messages), clearLogfile } as const; @@ -56,7 +56,7 @@ export async function writeEmergencyLog(error: Error, errorInfo: ErrorInfo): Pro writeToLog("EMERGENCY", `An Emergency Log was created. Check the file: ${emergency_log_file_name} for more details.`); } catch (error) { alert(`An Error occured while trying to write an Emergency Log: ${JSON.stringify(error)}`); - Logger.error("An Error occured while trying to write an Emergency Log: ", error); + Logger.error("helpers/Logger.ts", "An Error occured while trying to write an Emergency Log: ", error); } return await appDataDir() + emergency_log_file_name; } @@ -71,7 +71,7 @@ export async function clearLogfile(): Promise { return true; } catch (error) { alert(`An Error occured while trying to clear the Log File: ${JSON.stringify(error)}`); - Logger.error("An Error occured while trying to clear the Log File: ", error); + Logger.error("helpers/Logger.ts", "An Error occured while trying to clear the Log File: ", error); } return false; diff --git a/src/helpers/StorageManager.ts b/src/helpers/StorageManager.ts index e544ec8..a3357b9 100644 --- a/src/helpers/StorageManager.ts +++ b/src/helpers/StorageManager.ts @@ -55,7 +55,7 @@ const StorageManager = { } localStorage.setItem(key, value); } catch (error) { - Logger.error(error); + Logger.error("helpers/StorageManager.ts", error); return false; } return true; @@ -80,7 +80,7 @@ const StorageManager = { try { localStorage.clear(); } catch (error) { - Logger.error(error); + Logger.error("helpers/StorageManager.ts", error); return false; } return true; @@ -95,7 +95,7 @@ const StorageManager = { try { localStorage.removeItem(key); } catch (error) { - Logger.error(error); + Logger.error("helpers/StorageManager.ts", error); return false; } return true; diff --git a/src/screens/App/App.tsx b/src/screens/App/App.tsx index e61d5f9..53322cd 100644 --- a/src/screens/App/App.tsx +++ b/src/screens/App/App.tsx @@ -17,7 +17,7 @@ const App: React.FC = () => { const startApp = async () => { // Set default window size let abortStartup = false; - Logger.info("App started"); + Logger.info("App.tsx", "App started"); appWindow.setSize(new LogicalSize(270, 350)); appWindow.center(); @@ -27,7 +27,7 @@ const App: React.FC = () => { await initUpdateChecker(); } catch (error) { setSpecificLoadingMessage("An error occured while checking for updates"); - Logger.error("An error occured while checking for updates", error); + Logger.error("App.tsx", "An error occured while checking for updates", error); } try { @@ -36,7 +36,7 @@ const App: React.FC = () => { await createPathsIfNotExists(); } catch (error) { setSpecificLoadingMessage("An error occured while creating paths"); - Logger.error("An error occured while creating paths", error); + Logger.error("App.tsx", "An error occured while creating paths", error); } try { @@ -45,7 +45,7 @@ const App: React.FC = () => { await checkLogFile(); } catch (error) { setSpecificLoadingMessage("An error occured while checking logfile size"); - Logger.error("An error occured while checking logfile size", error); + Logger.error("App.tsx", "An error occured while checking logfile size", error); } try { @@ -60,7 +60,7 @@ const App: React.FC = () => { checkPermissions(); } } catch (error) { - Logger.error("An error occured while checking jenkins connection", error); + Logger.error("App.tsx", "An error occured while checking jenkins connection", error); } // Navigate to onboarding or jarvis @@ -81,10 +81,10 @@ const App: React.FC = () => { const onboardState = StorageManager.get("onboardState"); if (onboardState !== "true") { - Logger.info("Onboarding not completed, redirecting to onboarding"); + Logger.info("App.tsx", "Onboarding not completed, redirecting to onboarding"); return "/onboarding"; } - Logger.info("Onboarding completed, redirecting to Jarvis"); + Logger.info("App.tsx", "Onboarding completed, redirecting to Jarvis"); return "/jarvis"; }; diff --git a/src/screens/App/AppUtils.ts b/src/screens/App/AppUtils.ts index d277cc7..8f32dbd 100644 --- a/src/screens/App/AppUtils.ts +++ b/src/screens/App/AppUtils.ts @@ -11,7 +11,7 @@ export const initUpdateChecker = async () => { const updateState = await checkForUpdates(); if (updateState) { - Logger.info("Update available, opening update window"); + Logger.info("AppUtils.tsx", "Update available, opening update window"); const webview = new WebviewWindow("checkUpdate", { url: "/updateAvailable", title: "Update Available", @@ -24,11 +24,11 @@ export const initUpdateChecker = async () => { webview.center(); webview.once("tauri://created", () => { - Logger.info("Webview created"); + Logger.info("AppUtils.tsx", "Webview created"); }); webview.once("tauri://error", (e) => { - Logger.error(`Error in webview: ${e}`); + Logger.error("AppUtils.tsx", `Error in webview: ${e}`); }); } }; @@ -40,10 +40,10 @@ export const initUpdateChecker = async () => { export const initJenkinsConnectionCheck = async () => { const initJenkinsConnectionCheck = await checkJenkinsConnection(); if (initJenkinsConnectionCheck) { - Logger.info("Jenkins is available"); + Logger.info("AppUtils.tsx", "Jenkins is available"); return true; } else { - Logger.info("Jenkins is not available. Opening Window."); + Logger.info("AppUtils.tsx", "Jenkins is not available. Opening Window."); const webview = new WebviewWindow("restartOnboardingMaybe", { url: "/jenkinsUnavailable", title: "Jenkins Unavailable", @@ -56,11 +56,11 @@ export const initJenkinsConnectionCheck = async () => { webview.center(); webview.once("tauri://created", () => { - Logger.info("Webview created"); + Logger.info("AppUtils.tsx", "Webview created"); }); webview.once("tauri://error", (e) => { - Logger.error(`Error in webview: ${e}`); + Logger.error("AppUtils.tsx", `Error in webview: ${e}`); }); return false; } @@ -71,10 +71,10 @@ export const checkPermissions = async (): Promise => { const permission = await requestPermission(); if (permission === "granted") { StorageManager.save("notificationPermission", "granted"); - Logger.info("Notification permission granted"); + Logger.info("AppUtils.tsx", "Notification permission granted"); } else { StorageManager.save("notificationPermission", "denied"); - Logger.info("Notification permission denied"); + Logger.info("AppUtils.tsx", "Notification permission denied"); } } }; @@ -88,7 +88,7 @@ export const checkLogFile = async (): Promise => { // if log file is bigger than 5MB if (logFileSize > MAX_LOG_FILE_SIZE) { - Logger.info("Log file is bigger than " + MAX_LOG_FILE_SIZE + " MB. Clearing log file."); + Logger.info("AppUtils.tsx", "Log file is bigger than " + MAX_LOG_FILE_SIZE + " MB. Clearing log file."); // clear log file const cleared = await Logger.clearLogfile(); return cleared; @@ -106,7 +106,7 @@ export const createPathsIfNotExists = async () => { const logsFileExists = await exists(LOGS_FILE, { dir: BaseDirectory.AppData }); if (!logsFileExists) { - Logger.info("Logs file does not exist. Creating it."); + Logger.info("AppUtils.tsx", "Logs file does not exist. Creating it."); await writeTextFile(LOGS_FILE, "", { dir: BaseDirectory.AppData }); } }; \ No newline at end of file diff --git a/src/screens/App/JenkinsConnectionChecker/JenkinsConnectionChecker.ts b/src/screens/App/JenkinsConnectionChecker/JenkinsConnectionChecker.ts index 96ad76e..6630e10 100644 --- a/src/screens/App/JenkinsConnectionChecker/JenkinsConnectionChecker.ts +++ b/src/screens/App/JenkinsConnectionChecker/JenkinsConnectionChecker.ts @@ -6,7 +6,7 @@ export const checkJenkinsConnection = async (): Promise => { const response = await fetchUtils.fetchJenkinsData(); if (response) return true; } catch (error) { - Logger.error("Error while trying to get Jenkins Data", error); + Logger.error("JenkinsConnectionChecker.ts", "Error while trying to get Jenkins Data", error); } return false; }; \ No newline at end of file diff --git a/src/screens/App/updateChecker/updateChecker.ts b/src/screens/App/updateChecker/updateChecker.ts index af1decf..71960c7 100644 --- a/src/screens/App/updateChecker/updateChecker.ts +++ b/src/screens/App/updateChecker/updateChecker.ts @@ -14,12 +14,12 @@ export const checkForUpdates = async () => { const data: ReleaseInfo = await response.json(); if (data.error) { - Logger.error("Error while trying to get Update Data, this occured on the Backend", data.error); + Logger.error("updateChecker.tsx", "Error while trying to get Update Data, this occured on the Backend", data.error); throw new Error(data.error); } - Logger.info(`Current version: ${currentVersion}`); - Logger.info(`Latest version: ${data.version}`); + Logger.info("updateChecker.tsx", `Current version: ${currentVersion}`); + Logger.info("updateChecker.tsx", `Latest version: ${data.version}`); const latestVersion = data.version; return currentVersion !== latestVersion; @@ -33,7 +33,7 @@ export const getUpdateInfo = async (): Promise => { // if data .error is defined, then there was an error if (data.error) { - Logger.error("Error while trying to get Update Data, this occured on the Backend", data.error); + Logger.error("updateChecker.tsx", "Error while trying to get Update Data, this occured on the Backend", data.error); throw new Error(data.error); } diff --git a/src/screens/ErrorBoundary/ErrorBoundary.tsx b/src/screens/ErrorBoundary/ErrorBoundary.tsx index 5136434..dd6d636 100644 --- a/src/screens/ErrorBoundary/ErrorBoundary.tsx +++ b/src/screens/ErrorBoundary/ErrorBoundary.tsx @@ -22,7 +22,7 @@ class ErrorBoundary extends Component { } async componentDidCatch(error: Error, errorInfo: ErrorInfo): Promise { - Logger.error("ErrorBoundary", error); + Logger.error("ErrorBoundary.tsx", error); const path = await writeEmergencyLog(error, errorInfo); this.setState({ hasError: true, error, errorInfo, file_path: path, diff --git a/src/screens/Jarvis/JarvisMain.tsx b/src/screens/Jarvis/JarvisMain.tsx index ad4f461..207a206 100644 --- a/src/screens/Jarvis/JarvisMain.tsx +++ b/src/screens/Jarvis/JarvisMain.tsx @@ -72,10 +72,10 @@ function JarvisMain(): React.ReactElement { * aka. Jarvis is started. */ useEffect(() => { - Logger.info("STARTUP: Running startup tasks for", storedProjectName); + Logger.info("JarvisMain.tsx", "STARTUP: Running startup tasks for", storedProjectName); jarvisUtils.startJarvis(); return () => { - Logger.info("CLEANUP: Clearing interval for", storedProjectName); + Logger.info("JarvisMain.tsx", "CLEANUP: Clearing interval for", storedProjectName); jarvisUtils.stopJarvis(); }; }, [storedProjectName, setProjectData]); @@ -90,7 +90,7 @@ function JarvisMain(): React.ReactElement { setFeatureButtons(await miniUtils.createFeatureButtons(activeJobBuild)); setParameterDefinition(await fetchUtils.fetchParameterDefinition(storedProjectName)); } catch (error) { - Logger.error("Error while updating job card props", error); + Logger.error("JarvisMain.tsx", "Error while updating job card props", error); } }; diff --git a/src/screens/Jarvis/Utils/JarivsUtils.tsx b/src/screens/Jarvis/Utils/JarivsUtils.tsx index d615608..d61eb08 100644 --- a/src/screens/Jarvis/Utils/JarivsUtils.tsx +++ b/src/screens/Jarvis/Utils/JarivsUtils.tsx @@ -84,7 +84,7 @@ export class JarvisUtils { soundOn: true, soundType: "error", }); - Logger.error("Error creating job card props:", error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", "Error creating job card props:", error); return []; } }; @@ -122,7 +122,7 @@ export class JarvisUtils { // Update UI with the fetched build data this.setActiveFeature("status"); } catch (error) { - Logger.error("Error fetching build data:", error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", "Error fetching build data:", error); this.notification.showNotification("Error", "Error fetching build data. Please check your internet connection and try again.", "jenkins", { soundOn: true, soundType: "error", @@ -139,14 +139,14 @@ export class JarvisUtils { if (interactedJobs[this.storedProjectName] && interactedJobs[this.storedProjectName]?.includes(activeJobBuild.id)) { interactedJobs[this.storedProjectName] = interactedJobs[this.storedProjectName].filter((element: string) => element !== activeJobBuild.id); this.notification.showNotification(messages[0], messages[1], messages[4]); - Logger.info("Interaction undone:", activeJobBuild); + Logger.info("Jarvis/Utils/JarvisUtils.tsx", "Interaction undone:", activeJobBuild); } else { if (!interactedJobs[this.storedProjectName]) { interactedJobs[this.storedProjectName] = []; } interactedJobs[this.storedProjectName].push(activeJobBuild.id); this.notification.showNotification(messages[2], messages[3], messages[4]); - Logger.info("Interaction noted:", activeJobBuild); + Logger.info("Jarvis/Utils/JarvisUtils.tsx", "Interaction noted:", activeJobBuild); } StorageManager.save(feature, JSON.stringify(interactedJobs)); @@ -167,7 +167,7 @@ export class JarvisUtils { this.setJobCardProps(updatedJobCardProps); } catch (error) { - Logger.error("Error updating job card props:", error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", "Error updating job card props:", error); } }; @@ -221,7 +221,7 @@ export class JarvisUtils { } this.setActiveFeature(feature); } catch (error) { - Logger.error("Error handling feature button click:", error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", "Error handling feature button click:", error); this.notification.showNotification("Error", "This Function is currently not available.", "error", { soundOn: true, soundType: "error", @@ -411,7 +411,7 @@ export class JarvisUtils { soundOn: true, soundType: "error", }); - Logger.error("Error rendering job cards:", error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", "Error rendering job cards:", error); } }; @@ -472,11 +472,11 @@ export class JarvisUtils { soundOn: true, soundType: "error", }); - Logger.error("An Error occurred while trying to start Jarvis:", error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", "An Error occurred while trying to start Jarvis:", error); } }, JOBCARD_REFRESH_TIME) ); - Logger.info("Jarvis started with interval ID", getIntervalId()); + Logger.info("Jarvis/Utils/JarvisUtils.tsx", "Jarvis started with interval ID", getIntervalId()); } } catch (error: any /* eslint-disable-line @typescript-eslint/no-explicit-any */) { this.notification.showNotification("Error", "An Error occurred while trying to start Jarvis. Please check your internet connection and try again.", "error", { @@ -489,7 +489,7 @@ export class JarvisUtils { } - Logger.error("Error starting Jarvis:", error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", "Error starting Jarvis:", error); this.setActiveFeature("settings"); return null; } @@ -503,9 +503,9 @@ export class JarvisUtils { stopJarvis = () => { if (getIntervalId() !== null) { clearIntervalId(); - Logger.info("Jarvis stopped"); + Logger.info("Jarvis/Utils/JarvisUtils.tsx", "Jarvis/Utils/JarvisUtils.tsx", "Jarvis stopped"); } else { - Logger.info("Jarvis is not running"); + Logger.info("Jarvis/Utils/JarvisUtils.tsx", "Jarvis/Utils/JarvisUtils.tsx", "Jarvis is not running"); } }; @@ -516,7 +516,7 @@ export class JarvisUtils { private startJarvis_interval = async () => { try { //Logger - Logger.info(`Fetching project data every ${JOBCARD_REFRESH_TIME / 1000} seconds for ${this.storedProjectName}`); + Logger.info("Jarvis/Utils/JarvisUtils.tsx", `Fetching project data every ${JOBCARD_REFRESH_TIME / 1000} seconds for ${this.storedProjectName}`); // Fetch project data to check for new builds const newData = await fetchUtils.fetchProjectData(this.storedProjectName); @@ -641,7 +641,7 @@ export class JarvisUtils { this.notification.showBannerNotification("Storage Manager possibly corrupted.", "There was an error while trying to fetch the project data. You can try deleting the Local Storage file in the settings and restarting Jarvis.", false); } - Logger.error("Error fetching project data:", error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", "Error fetching project data:", error); } }; } diff --git a/src/screens/Jarvis/Views/BuildView/BuildView.tsx b/src/screens/Jarvis/Views/BuildView/BuildView.tsx index 407f170..0dd9902 100644 --- a/src/screens/Jarvis/Views/BuildView/BuildView.tsx +++ b/src/screens/Jarvis/Views/BuildView/BuildView.tsx @@ -33,7 +33,7 @@ const BuildView: React.FC = ({ parameterDefinition, buildData }) => { setSParameterDefinitions(mergeParameters(parameterDefinition, buildData)); } } catch (error) { - Logger.error(error); + Logger.error("BuildView/BuildView.tsx", error); } }, [parameterDefinition, buildData]); @@ -57,10 +57,10 @@ const BuildView: React.FC = ({ parameterDefinition, buildData }) => { try { let response: string; if (SParameterDefinitions) { - Logger.info("Made request to start build with parameters: ", parameterValues); + Logger.info("Jarvis/Utils/JarvisUtils.tsx", "Made request to start build with parameters: ", parameterValues); response = await fetchUtils.startBuild(projectName, parameterValues); } else { - Logger.info("Made request to start build without parameters"); + Logger.info("Jarvis/Utils/JarvisUtils.tsx", "Made request to start build without parameters"); response = await fetchUtils.startBuild(projectName, parameterValues); } @@ -73,7 +73,7 @@ const BuildView: React.FC = ({ parameterDefinition, buildData }) => { soundType: "success", }); } catch (error) { - Logger.error(error); + Logger.error("Jarvis/Utils/JarvisUtils.tsx", error); notification.showNotification("Jenkins responded with an Error!", String(error), "error", { soundOn: true, soundType: "error", diff --git a/src/screens/Jarvis/Views/ConsoleView/ConsoleView.tsx b/src/screens/Jarvis/Views/ConsoleView/ConsoleView.tsx index 64049fb..9931174 100644 --- a/src/screens/Jarvis/Views/ConsoleView/ConsoleView.tsx +++ b/src/screens/Jarvis/Views/ConsoleView/ConsoleView.tsx @@ -31,7 +31,6 @@ const ConsoleView: React.FC = ({ buildData }) => { const lines = await fetchUtils.consoleText(projectName, buildNumber); - const chunkSize = CONSOLE_VIEW_CHUNK_SIZE; const chunks = Array.from({ length: Math.ceil(lines.length / chunkSize) }, (_, index) => lines.slice(index * chunkSize, (index + 1) * chunkSize) @@ -48,10 +47,11 @@ const ConsoleView: React.FC = ({ buildData }) => { if (buildData.result !== null) { clearIntervalId() - Logger.info("ConsoleView: Build is finished, clearing interval") - } + Logger.info("ConsoleView/ConsoleView.tsx", "ConsoleView: Build is finished, clearing interval") + return true; + } } catch (error) { - Logger.error("Error invoking get_build_data:", error); + Logger.error("ConsoleView/ConsoleView.tsx", "ConsoleView: Error while fetching console data: " + error); } }; @@ -69,11 +69,11 @@ const ConsoleView: React.FC = ({ buildData }) => { webview.center(); webview.once("tauri://created", () => { - Logger.info("Webview created"); + Logger.info("ConsoleView/ConsoleView.tsx", "Webview created"); }); webview.once("tauri://error", (e) => { - Logger.error(`Error in webview: ${e}`); + Logger.error("ConsoleView/ConsoleView.tsx", `Error in webview: ${e}`); }); }; @@ -98,15 +98,20 @@ const ConsoleView: React.FC = ({ buildData }) => { // Start the interval to fetch console data useEffect(() => { // Start Interval to update console data - setIntervalId(setInterval(() => { - fetchAndSetConsoleData(); - }, CONSOLE_RELOAD_TIME)); + const startConsole = async () => { + if (await fetchAndSetConsoleData() == true) return; + setIntervalId(setInterval(() => { + fetchAndSetConsoleData(); + }, CONSOLE_RELOAD_TIME)); + } + + startConsole(); // On unmount, clear the interval return () => { clearIntervalId(); - Logger.info("Cleaning up ConsoleView Interval"); + Logger.info("ConsoleView/ConsoleView.tsx", "Cleaning up ConsoleView Interval"); }; }, []); diff --git a/src/screens/Jarvis/Views/ConsoleView/ConsoleViewStyleDict.ts b/src/screens/Jarvis/Views/ConsoleView/ConsoleViewStyleDict.ts index c8ff5b9..c026f60 100644 --- a/src/screens/Jarvis/Views/ConsoleView/ConsoleViewStyleDict.ts +++ b/src/screens/Jarvis/Views/ConsoleView/ConsoleViewStyleDict.ts @@ -20,7 +20,7 @@ export async function getConsoleViewStyleDict(): Promise { await writeTextFile(CONSOLE_VIEW_STYLE_FILE, await JSON.stringify(defaultStylingDict), { dir: BaseDirectory.AppData }); return defaultStylingDict; } catch (error) { - Logger.error(`Error getting ${CONSOLE_VIEW_STYLE_FILE}. The File might be empty. \n${error}`); + Logger.error("ConsoleView/ConsoleViewStyleDict.tsx", `Error getting ${CONSOLE_VIEW_STYLE_FILE}. The File might be empty. \n${error}`); return defaultStylingDict; } } diff --git a/src/screens/Jarvis/Views/ConsoleView/ConsoleViewUtils.tsx b/src/screens/Jarvis/Views/ConsoleView/ConsoleViewUtils.tsx index 065a276..7053270 100644 --- a/src/screens/Jarvis/Views/ConsoleView/ConsoleViewUtils.tsx +++ b/src/screens/Jarvis/Views/ConsoleView/ConsoleViewUtils.tsx @@ -7,7 +7,7 @@ let osType: string; (async () => { osType = await type(); - Logger.info(`OS Type: ${osType}`); + Logger.info("ConsoleView/ConsoleViewUtils.tsx", `OS Type: ${osType}`); })(); diff --git a/src/screens/Jarvis/Views/ConsoleView/worker.ts b/src/screens/Jarvis/Views/ConsoleView/worker.ts index ff6e429..2bde5d9 100644 --- a/src/screens/Jarvis/Views/ConsoleView/worker.ts +++ b/src/screens/Jarvis/Views/ConsoleView/worker.ts @@ -22,7 +22,7 @@ self.addEventListener("message", (e) => { self.postMessage(styledText); } catch (error) { - Logger.error(error); + Logger.error("ConsoleView/worker.ts", error); return text; } }; diff --git a/src/screens/Jarvis/Views/SettingsView/ButtonEvents.tsx b/src/screens/Jarvis/Views/SettingsView/ButtonEvents.tsx index ea7c8a5..4c023eb 100644 --- a/src/screens/Jarvis/Views/SettingsView/ButtonEvents.tsx +++ b/src/screens/Jarvis/Views/SettingsView/ButtonEvents.tsx @@ -28,7 +28,7 @@ export const editConsoleStyling = async () => { } } catch (error) { alert(`Error opening file! \n${error}`); - Logger.error("Error opening the file:", error); + Logger.error("SettingsView/ButtonEvents.tsx", "Error opening the file:", error); } }; @@ -48,7 +48,7 @@ export const openLogs = async () => { } } catch (error) { alert(`Error opening file! \n${error}`); - Logger.error("Error opening the file:", error); + Logger.error("SettingsView/ButtonEvents.tsx", "Error opening the file:", error); } }; @@ -62,7 +62,7 @@ export const clearAllData = async (notification: Props_NotificationContext) => { soundOn: true, soundType: "error" }); - Logger.error("Error clearing data:", error); + Logger.error("SettingsView/ButtonEvents.tsx", "Error clearing data:", error); } }; diff --git a/src/screens/Jarvis/Views/SettingsView/SettingsView.tsx b/src/screens/Jarvis/Views/SettingsView/SettingsView.tsx index f9b689a..feb0eaf 100644 --- a/src/screens/Jarvis/Views/SettingsView/SettingsView.tsx +++ b/src/screens/Jarvis/Views/SettingsView/SettingsView.tsx @@ -43,7 +43,7 @@ const SettingsView: React.FC = () => { const version = await getVersion(); setAppVersion(version); } catch (error) { - Logger.error("Error fetching app version:", error); + Logger.error("SettingsView/SettingsView.tsx", "Error fetching app version:", error); } }; diff --git a/src/screens/Jarvis/Views/TestReport/TestReport.tsx b/src/screens/Jarvis/Views/TestReport/TestReport.tsx index d1e4117..6579d56 100644 --- a/src/screens/Jarvis/Views/TestReport/TestReport.tsx +++ b/src/screens/Jarvis/Views/TestReport/TestReport.tsx @@ -94,7 +94,7 @@ const TestReport: React.FC = ({ buildData }) => { setTestReport(testReport); } catch (error) { - Logger.error(error); + Logger.error("TestReport.tsx", error); setShowBanner(true); /* diff --git a/src/screens/Onboarding/OnboardingStep1.tsx b/src/screens/Onboarding/OnboardingStep1.tsx index 9c34241..33a9dda 100644 --- a/src/screens/Onboarding/OnboardingStep1.tsx +++ b/src/screens/Onboarding/OnboardingStep1.tsx @@ -91,7 +91,7 @@ const OnboardingStep1: React.FC = () => { soundType: "error", }); } - Logger.error("OnboardingStep1 Error", error); + Logger.error("Onboarding/OnboardingStep1.tsx", "OnboardingStep1 Error", error); } }; diff --git a/src/screens/Onboarding/OnboardingStep2.tsx b/src/screens/Onboarding/OnboardingStep2.tsx index ea4b38c..bf871e0 100644 --- a/src/screens/Onboarding/OnboardingStep2.tsx +++ b/src/screens/Onboarding/OnboardingStep2.tsx @@ -42,7 +42,7 @@ const OnboardingStep1: React.FC = () => { navigate("/onboarding/step_3"); } catch (error) { - Logger.error(error); + Logger.error("Onboarding/OnboardingStep2.tsx",error); notification.showNotification("error", String(error), "error", { soundOn: true, soundType: "error", @@ -95,7 +95,7 @@ const OnboardingStep1: React.FC = () => { const newAllJobs = allProjects.filter((item) => !favoriteProjects.includes(item)); setAllJobs(newAllJobs); } catch (error) { - Logger.error("Error getting jobs:", error); + Logger.error("Onboarding/OnboardingStep2.tsx","Error getting jobs:", error); } };