@@ -4,11 +4,13 @@ import { createRequire } from 'node:module';
44import type {
55 Channel ,
66 Direction ,
7+ InstallOptions ,
78 IpcEventData ,
89 IpcEventDataIndexed ,
910 ServiceWorkerDetails ,
1011} from './types/shared' ;
1112import { excludedIpcChannels } from './common/constants' ;
13+ import { logger } from './utils/Logger' ;
1214
1315interface TrackIpcEventOptions {
1416 direction : Direction ;
@@ -65,7 +67,7 @@ function trackIpcEvent({
6567 if ( excludedIpcChannels . includes ( channel ) ) return ;
6668
6769 if ( ! devtronSW ) {
68- console . error ( 'The service-worker for Devtron is not registered yet. Cannot track IPC event.' ) ;
70+ logger . warn ( 'The service-worker for Devtron is not registered yet. Cannot track IPC event.' ) ;
6971 return ;
7072 }
7173
@@ -208,7 +210,7 @@ async function startServiceWorker(ses: Electron.Session, extension: Electron.Ext
208210 registerIpcListeners ( ses , sw ) ;
209211 registerServiceWorkerSendListener ( ses , sw ) ;
210212 } catch ( error ) {
211- console . warn ( `Failed to start Devtron service-worker (${ error } ), trying again...` ) ;
213+ logger . warn ( `Failed to start Devtron service-worker (${ error } ), trying again...` ) ;
212214 /**
213215 * This is a workaround for the issue where the Devtron service-worker fails to start
214216 * when the Electron app is launched for the first time, or when the service worker
@@ -226,12 +228,12 @@ async function startServiceWorker(ses: Electron.Session, extension: Electron.Ext
226228 registerIpcListeners ( ses , sw ) ;
227229 registerServiceWorkerSendListener ( ses , sw ) ;
228230 ses . serviceWorkers . removeListener ( 'registration-completed' , handleDetails ) ;
229- console . log ( `Devtron service-worker started successfully` ) ;
231+ logger . info ( `Devtron service-worker started successfully` ) ;
230232 }
231233 } ;
232234 ses . serviceWorkers . on ( 'registration-completed' , handleDetails ) ;
233235 } catch ( error ) {
234- console . error ( 'Failed to start Devtron service-worker:' , error ) ;
236+ logger . error ( 'Failed to start Devtron service-worker:' , error ) ;
235237 }
236238 }
237239}
@@ -373,10 +375,13 @@ function patchIpcMain() {
373375 } ;
374376}
375377
376- async function install ( ) {
378+ async function install ( options : InstallOptions = { } ) {
377379 if ( isInstalled ) return ;
378380 isInstalled = true ;
379381
382+ // set log level
383+ if ( options . logLevel ) logger . setLogLevel ( options . logLevel ) ;
384+
380385 patchIpcMain ( ) ;
381386
382387 const installToSession = async ( ses : Electron . Session ) => {
@@ -410,9 +415,9 @@ async function install() {
410415 const extensionPath = path . resolve ( serviceWorkerPreloadPath , '..' , '..' , 'extension' ) ;
411416 devtron = await ses . extensions . loadExtension ( extensionPath , { allowFileAccess : true } ) ;
412417 await startServiceWorker ( ses , devtron ) ;
413- console . log ( 'Devtron loaded successfully' ) ;
418+ logger . info ( 'Devtron loaded successfully' ) ;
414419 } catch ( error ) {
415- console . error ( 'Failed to load Devtron:' , error ) ;
420+ logger . error ( 'Failed to load Devtron:' , error ) ;
416421 }
417422 } ;
418423
@@ -430,12 +435,12 @@ async function install() {
430435 */
431436async function getEvents ( ) : Promise < IpcEventDataIndexed [ ] > {
432437 if ( ! isInstalled ) {
433- console . warn ( 'You are trying to get IPC events before Devtron is installed.' ) ;
438+ logger . warn ( 'You are trying to get IPC events before Devtron is installed.' ) ;
434439 return [ ] ;
435440 }
436441
437442 if ( ! devtronSW ) {
438- console . warn ( 'Devtron service-worker is not registered yet. Cannot get IPC events.' ) ;
443+ logger . warn ( 'Devtron service-worker is not registered yet. Cannot get IPC events.' ) ;
439444 return [ ] ;
440445 }
441446
0 commit comments