logError static method

void logError(
  1. String message, [
  2. Object? error,
  3. StackTrace? stackTrace
])

Log an error message (always logged unless level is none)

Implementation

static void logError(String message,
    [Object? error, StackTrace? stackTrace]) {
  if (!ZenLogLevel.error.shouldLog(ZenConfig.logLevel)) return;

  // Use custom error handler if set
  if (_errorHandler != null) {
    _errorHandler!(message, error, stackTrace);
    return;
  }

  // Use custom log handler if set (for errors when error handler not available)
  if (_logHandler != null) {
    _logHandler!(message, LogLevel.error);
    if (error != null) {
      _logHandler!('Error: $error', LogLevel.error);
    }
    if (stackTrace != null) {
      _logHandler!('StackTrace: $stackTrace', LogLevel.error);
    }
    return;
  }

  // Default logging
  if (kDebugMode) {
    if (testMode && logFunction != null) {
      logFunction!(message, name: '$_prefix ERROR');
    } else {
      developer.log(
        message,
        name: '$_prefix ERROR',
        error: error,
        stackTrace: stackTrace,
        level: 1000, // Error level
      );
    }
  }
}