reportWithLevel static method
void
reportWithLevel(
- String level,
- Object error, [
- StackTrace? stackTrace,
- Map<
String, dynamic> ? additionalContext,
Report an exception with custom severity level
Implementation
static void reportWithLevel(
String level,
Object error, [
StackTrace? stackTrace,
Map<String, dynamic>? additionalContext,
]) {
final context = _buildExceptionContext(
error: error,
stackTrace: stackTrace,
additionalContext: additionalContext,
);
final logMessage = _formatExceptionMessage(error, context);
switch (level.toLowerCase()) {
case 'critical':
Khadem.logger
.critical(logMessage, context: context, stackTrace: stackTrace);
break;
case 'error':
Khadem.logger
.error(logMessage, context: context, stackTrace: stackTrace);
break;
case 'warning':
Khadem.logger
.warning(logMessage, context: context, stackTrace: stackTrace);
break;
case 'info':
Khadem.logger
.info(logMessage, context: context, stackTrace: stackTrace);
break;
case 'debug':
Khadem.logger
.debug(logMessage, context: context, stackTrace: stackTrace);
break;
default:
Khadem.logger
.error(logMessage, context: context, stackTrace: stackTrace);
}
// Send to external service if configured
_sendToExternalService(error, context, stackTrace);
}