diff --git a/apps/api/src/development/use-cases/DemoLoginUseCase.ts b/apps/api/src/development/use-cases/DemoLoginUseCase.ts index 5a7611ade..0f452a506 100644 --- a/apps/api/src/development/use-cases/DemoLoginUseCase.ts +++ b/apps/api/src/development/use-cases/DemoLoginUseCase.ts @@ -76,6 +76,7 @@ export class DemoLoginUseCase implements UseCase { process.exit(1); }); -process.on('unhandledRejection', (reason: any) => { - console.error('🚨 Unhandled Rejection:', reason?.message || reason); +process.on('unhandledRejection', (reason: unknown) => { + console.error('🚨 Unhandled Rejection:', reason instanceof Error ? reason.message : reason); process.exit(1); }); diff --git a/apps/api/src/shared/logging/InitializationLogger.ts b/apps/api/src/shared/logging/InitializationLogger.ts new file mode 100644 index 000000000..17d6e7fad --- /dev/null +++ b/apps/api/src/shared/logging/InitializationLogger.ts @@ -0,0 +1,24 @@ +export class InitializationLogger { + private static instance: InitializationLogger; + + private constructor() {} + + static getInstance(): InitializationLogger { + if (!InitializationLogger.instance) { + InitializationLogger.instance = new InitializationLogger(); + } + return InitializationLogger.instance; + } + + log(message: string): void { + console.log(`[Initialization] ${message}`); + } + + error(message: string): void { + console.error(`[Initialization] ${message}`); + } + + warn(message: string): void { + console.warn(`[Initialization] ${message}`); + } +} \ No newline at end of file diff --git a/apps/api/src/shared/logging/LoggedProvider.ts b/apps/api/src/shared/logging/LoggedProvider.ts new file mode 100644 index 000000000..51d0782b6 --- /dev/null +++ b/apps/api/src/shared/logging/LoggedProvider.ts @@ -0,0 +1,7 @@ +import { Provider } from '@nestjs/common'; +import { InitializationLogger } from './InitializationLogger'; + +export function createLoggedProviders(providers: Provider[], logger: InitializationLogger): Provider[] { + logger.log(`Creating ${providers.length} providers`); + return providers; +} \ No newline at end of file diff --git a/apps/website/lib/infrastructure/EnhancedErrorReporter.ts b/apps/website/lib/infrastructure/EnhancedErrorReporter.ts index f983e9bd6..e275de190 100644 --- a/apps/website/lib/infrastructure/EnhancedErrorReporter.ts +++ b/apps/website/lib/infrastructure/EnhancedErrorReporter.ts @@ -106,9 +106,12 @@ export class EnhancedErrorReporter implements ErrorReporter { const severity = error.getSeverity(); const message = isDev ? error.getDeveloperMessage() : error.getUserMessage(); + const contextObj = typeof context === 'object' && context !== null ? context : {}; + const errorContextObj = typeof error.context === 'object' && error.context !== null ? error.context : {}; + const logContext = { - ...error.context, - ...context, + ...errorContextObj, + ...contextObj, type: error.type, isRetryable: error.isRetryable(), isConnectivity: error.isConnectivityIssue(),