voicepeak_api/app/errors.py

17 lines
555 B
Python

from flask import jsonify
import traceback
from .webhook import send_error_webhook
def handle_exception(app, error):
error_message = str(error)
error_type = type(error).__name__
stack_trace = traceback.format_exc()
app.logger.error(f'Unhandled Exception: {error_type} - {error_message}\n{stack_trace}')
send_error_webhook(error_message, error_type, stack_trace)
return jsonify(error=error_message), 500
def register_error_handlers(app):
app.register_error_handler(Exception, lambda e: handle_exception(app, e))