33 lines
1.2 KiB
TypeScript
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();
|
|
}
|
|
}
|
|
}
|
|
} |