marketing-post-generator-mcp
Version:
A powerful MCP server for AI-powered marketing blog post generation with Claude integration
54 lines • 1.84 kB
JavaScript
import { ErrorHandler } from '../errors/ErrorHandler';
import { ErrorReporter } from '../errors/ErrorReporter';
import { createLogger } from '../../utils/logger';
export class ErrorHandlingService {
errorHandler;
errorReporter;
logger;
constructor(config) {
this.logger = createLogger({ level: 'info', format: 'json' });
// Initialize error reporter with config
this.errorReporter = new ErrorReporter(this.logger, {
maxRecentErrors: config.maxRecentErrors,
enableStackTrace: config.enableStackTrace,
excludeStackTraceForCodes: config.excludeStackTraceForCodes,
});
// Initialize error handler
this.errorHandler = new ErrorHandler(this.logger);
}
getErrorHandler() {
return this.errorHandler;
}
getErrorReporter() {
return this.errorReporter;
}
getLogger() {
return this.logger;
}
// Health check method
isHealthy() {
try {
// Basic health checks
const recentCriticalErrors = this.errorReporter
.getRecentErrors(10)
.filter((error) => error.severity === 'critical');
// Consider unhealthy if too many critical errors in recent history
return recentCriticalErrors.length < 5;
}
catch (error) {
this.logger.error('Health check failed', {
error: error instanceof Error ? error.message : error,
});
return false;
}
}
// Get service metrics
getMetrics() {
return {
errorMetrics: this.errorReporter.getMetrics(),
summaryReport: this.errorReporter.generateSummaryReport(),
healthStatus: this.isHealthy(),
};
}
}
//# sourceMappingURL=ErrorHandlingService.js.map