reportAppException static method

void reportAppException(
  1. AppException error, [
  2. StackTrace? stackTrace,
  3. Map<String, dynamic>? additionalContext
])

Report an application-specific exception with full context

Implementation

static void reportAppException(
  AppException error, [
  StackTrace? stackTrace,
  Map<String, dynamic>? additionalContext,
]) {
  final context = _buildExceptionContext(
    error: error,
    stackTrace: stackTrace,
    additionalContext: additionalContext,
  );

  final logMessage = _formatExceptionMessage(error, context);

  // Log based on severity
  if (error.statusCode >= 500) {
    Khadem.logger
        .critical(logMessage, context: context, stackTrace: stackTrace);
  } else if (error.statusCode >= 400) {
    Khadem.logger
        .warning(logMessage, context: context, stackTrace: stackTrace);
  } else {
    Khadem.logger.error(logMessage, context: context, stackTrace: stackTrace);
  }

  // Send to external service if configured
  _sendToExternalService(error, context, stackTrace);
}