formatNetworkLog static method

String formatNetworkLog(
  1. Map<String, dynamic> log
)

Format network log for sharing

Implementation

static String formatNetworkLog(Map<String, dynamic> log) {
  final buffer = StringBuffer();
  buffer.writeln('═══════════════════════════════════════');
  buffer.writeln('📡 NETWORK REQUEST LOG');
  buffer.writeln('═══════════════════════════════════════');
  buffer.writeln();
  buffer.writeln('🔗 URL: ${log['url'] ?? 'N/A'}');
  buffer.writeln('📋 Method: ${log['method'] ?? 'N/A'}');
  buffer.writeln('📊 Status: ${log['statusCode'] ?? 'N/A'}');
  buffer.writeln('⏱️ Duration: ${log['duration'] ?? 'N/A'}ms');
  buffer.writeln('📅 Time: ${log['timestamp'] ?? 'N/A'}');
  buffer.writeln();

  if (log['requestHeaders'] != null) {
    buffer.writeln('📤 REQUEST HEADERS:');
    buffer.writeln(_formatJson(log['requestHeaders']));
    buffer.writeln();
  }

  if (log['requestBody'] != null) {
    buffer.writeln('📤 REQUEST BODY:');
    buffer.writeln(_formatJson(log['requestBody']));
    buffer.writeln();
  }

  if (log['responseHeaders'] != null) {
    buffer.writeln('📥 RESPONSE HEADERS:');
    buffer.writeln(_formatJson(log['responseHeaders']));
    buffer.writeln();
  }

  if (log['responseBody'] != null) {
    buffer.writeln('📥 RESPONSE BODY:');
    buffer.writeln(_formatJson(log['responseBody']));
    buffer.writeln();
  }

  if (log['error'] != null) {
    buffer.writeln('❌ ERROR:');
    buffer.writeln(log['error']);
    buffer.writeln();
  }

  buffer.writeln('═══════════════════════════════════════');
  return buffer.toString();
}