Files
gridpilot.gg/apps/website/lib/infrastructure/logging/ConsoleErrorReporter.ts
2026-01-01 17:43:38 +01:00

33 lines
1.2 KiB
TypeScript

import { ErrorReporter } from '../../interfaces/ErrorReporter';
import { getGlobalErrorHandler } from '../GlobalErrorHandler';
export class ConsoleErrorReporter implements ErrorReporter {
report(error: Error, context?: unknown): void {
const timestamp = new Date().toISOString();
// Use enhanced global handler if available
try {
const globalHandler = getGlobalErrorHandler();
const enhancedContext: Record<string, unknown> = {
source: 'legacy_reporter',
timestamp,
};
if (typeof context === 'object' && context !== null) {
Object.assign(enhancedContext, context);
}
globalHandler.report(error, enhancedContext);
} catch {
// Fallback to basic logging if global handler not available
console.error(`[${timestamp}] Error reported:`, error.message, { error, context });
// Also log to console with enhanced format
if (process.env.NODE_ENV === 'development') {
console.groupCollapsed(`%c[LEGACY ERROR] ${error.name}: ${error.message}`, 'color: #ff6600; font-weight: bold;');
console.log('Error:', error);
console.log('Context:', context);
console.log('Stack:', error.stack);
console.groupEnd();
}
}
}
}