1+ import { SimpleStructuredLogger } from "../utils/structuredLogger.js" ;
12import { singleton } from "./singleton.js" ;
23
34type ShutdownHandler = NodeJS . SignalsListener ;
@@ -11,6 +12,7 @@ class ShutdownManager {
1112 SIGTERM : 15 ,
1213 } ;
1314
15+ private logger = new SimpleStructuredLogger ( "shutdownManager" ) ;
1416 private handlers : Map < string , { handler : ShutdownHandler ; signals : ShutdownSignal [ ] } > =
1517 new Map ( ) ;
1618
@@ -38,7 +40,7 @@ class ShutdownManager {
3840 if ( this . isShuttingDown ) return ;
3941 this . isShuttingDown = true ;
4042
41- console . log ( `\nReceived ${ signal } . Starting graceful shutdown...`) ;
43+ this . logger . info ( `Received ${ signal } . Starting graceful shutdown...`) ;
4244
4345 // Get handlers that are registered for this signal
4446 const handlersToRun = Array . from ( this . handlers . entries ( ) ) . filter ( ( [ _ , { signals } ] ) =>
@@ -49,11 +51,11 @@ class ShutdownManager {
4951 const results = await Promise . allSettled (
5052 handlersToRun . map ( async ( [ name , { handler } ] ) => {
5153 try {
52- console . log ( `Running shutdown handler: ${ name } ` ) ;
54+ this . logger . info ( `Running shutdown handler: ${ name } ` ) ;
5355 await handler ( signal ) ;
54- console . log ( `Shutdown handler completed: ${ name } ` ) ;
56+ this . logger . info ( `Shutdown handler completed: ${ name } ` ) ;
5557 } catch ( error ) {
56- console . error ( `Shutdown handler failed: ${ name } ` , error ) ;
58+ this . logger . error ( `Shutdown handler failed: ${ name } ` , { error } ) ;
5759 throw error ;
5860 }
5961 } )
@@ -65,12 +67,12 @@ class ShutdownManager {
6567 const handlerEntry = handlersToRun [ index ] ;
6668 if ( handlerEntry ) {
6769 const [ name ] = handlerEntry ;
68- console . error ( `Shutdown handler "${ name } " failed:` , result . reason ) ;
70+ this . logger . error ( `Shutdown handler "${ name } " failed:` , { reason : result . reason } ) ;
6971 }
7072 }
7173 } ) ;
7274 } catch ( error ) {
73- console . error ( "Error during shutdown:" , error ) ;
75+ this . logger . error ( "Error during shutdown:" , { error } ) ;
7476 } finally {
7577 // Exit with the correct signal number
7678 process . exit ( 128 + this . signalNumbers [ signal ] ) ;
0 commit comments