apiURLResponseLog function

void apiURLResponseLog({
  1. String url = "",
  2. String endPoint = "",
  3. String headers = "",
  4. dynamic request = "",
  5. dynamic encryptRequest = "",
  6. String encryptResponse = "",
  7. int statusCode = 0,
  8. dynamic responseBody = "",
  9. String methodType = "",
  10. bool hasRequest = false,
  11. DateTime? startTime,
  12. DateTime? endTime,
})

Implementation

void apiURLResponseLog({
  String url = "",
  String endPoint = "",
  String headers = "",
  dynamic request = "",
  dynamic encryptRequest = "",
  String encryptResponse = "",
  int statusCode = 0,
  dynamic responseBody = "",
  String methodType = "",
  bool hasRequest = false,
  DateTime? startTime,
  DateTime? endTime,
}) {
  String currentDate =
      "${MmUtils.instance!.getAppName()} : ${DateFormat('yyyy-MM-dd HH:mm:ss').format(DateTime.now())}";

  _printLogsForRequest(
      "\u001B[39m \u001b[96m┌─────────────────────────── \u001b[31m Start log report from $currentDate \u001b[96m ───────────────────────────┐\u001B[39m");

  if (startTime != null && endTime != null) {
    Duration difference = endTime.difference(startTime);
    int minutes = difference.inMinutes % 60; // Remaining minutes
    int seconds = difference.inSeconds % 60; // Remaining seconds
    int milliseconds =
        difference.inMilliseconds % 1000; // Remaining milliseconds
    _printLogsForRequest(
        "\u001b[31m Api execution time (mm:ss:ms): \u001B[39m $minutes:$seconds:$milliseconds");
  }
  _printLogsForRequest("\u001b[31m Url: \u001B[39m $url");
  _printLogsForRequest(
      "\u001b[31m Header: \u001B[39m \u001b[96m$headers\u001B[39m");
  if (request != null && request.isNotEmpty) {
    _printLogsForRequest(
        "\u001b[31m Request: \u001B[39m \u001b[96m$request\u001B[39m");
  }

  if (encryptRequest != null && encryptRequest.isNotEmpty) {
    _printLogsForRequest(
        "\u001b[31m Encrypt Request: \u001B[39m \u001b[96m$encryptRequest\u001B[39m");
  }

  if (encryptResponse.isNotEmpty) {
    _printLogsForRequest(
        "\u001b[31m Encrypt Response: \u001B[39m \u001b[96m$encryptResponse\u001B[39m");
  }
  _printLogsForRequest(statusCode.isSuccessful() ? "\u001b[32m" : "\u001b[31m");
  _printLogsForRequest(
      'Response ($methodType) $statusCode ${statusCode.isSuccessful() ? "\u001b[32m" : "\u001b[31m"} ');
  //if(responseBody!=null) {
  _printLogsForRequest(responseBody);
  //}
  _printLogsForRequest("\u001B[0m");
  String engLog =
      "${MmUtils.instance!.getAppName()} : ${DateFormat('yyyy-MM-dd HH:mm:ss').format(DateTime.now())}";

  _printLogsForRequest(
      "\u001B[39m \u001b[96m└─────────────────────────── \u001b[31m Log report end from $engLog \u001b[96m ───────────────────────────┘\u001B[39m");
}