diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0a72b143bfe2e72ae14a0c2e190cf9296d193d5d..fd18473c21356b276aa470aab95fb7affda58ea0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+### [1.2.2] - 2024-11-25
+### Fixed
+- Memory consumption in api client - logger calls consumes memory, specially when large responses are logged
+
 ## [1.2.1] - 2020-12-08
 ### Fixed
 - default headers should overwrite build in headers
diff --git a/src/Client/ClientImplementation.php b/src/Client/ClientImplementation.php
index b2bac6ca774649ec070b0988b7eb531414b7aaf6..a749f924b6e2276a74e0e838c898842dc8ecba82 100644
--- a/src/Client/ClientImplementation.php
+++ b/src/Client/ClientImplementation.php
@@ -4,6 +4,7 @@ namespace WPDesk\ApiClient\Client;
 
 use Psr\Log\LoggerAwareInterface;
 use Psr\Log\LoggerInterface;
+use Psr\Log\NullLogger;
 use WPDesk\HttpClient\HttpClient;
 use WPDesk\HttpClient\HttpClientResponse;
 use WPDesk\ApiClient\Request\Request;
@@ -36,6 +37,9 @@ class ClientImplementation implements Client, LoggerAwareInterface
 	/** @var int */
     private $timeout;
 
+    /** @var bool */
+    private $is_logger_available = false;
+
     /**
      * Client constructor.
      * @param HttpClient $client
@@ -59,6 +63,7 @@ class ClientImplementation implements Client, LoggerAwareInterface
         $this->apiUrl                = $apiUri;
         $this->defaultRequestHeaders = $defaultRequestHeaders;
         $this->timeout               = $timeout;
+        $this->is_logger_available   = ! $logger instanceof NullLogger;
     }
 
     /**
@@ -70,8 +75,10 @@ class ClientImplementation implements Client, LoggerAwareInterface
      */
     public function sendRequest(Request $request)
     {
-        $this->logger->debug("Sends request with METHOD: {$request->getMethod()}; to ENDPOINT {$request->getEndpoint()}",
-            $this->getLoggerContext());
+        if ($this->is_logger_available) {
+            $this->logger->debug("Sends request with METHOD: {$request->getMethod()}; to ENDPOINT {$request->getEndpoint()}",
+                $this->getLoggerContext());
+        }
         try {
             $httpResponse = $this->client->send(
                 $fullUrl = $this->prepareFullUrl($request),
@@ -81,11 +88,16 @@ class ClientImplementation implements Client, LoggerAwareInterface
                 $this->timeout
             );
 
-            $this->logger->debug(
-                "Sent request with: URL: {$fullUrl};\n METHOD: {$method};\n BODY: {$body};\n"
-                . "HEADERS: " . json_encode($headers) . "\n\n and got response as CODE: {$httpResponse->getResponseCode()};\n"
-                . "with RESPONSE BODY {$httpResponse->getBody()}",
-                $this->getLoggerContext());
+            if ($this->is_logger_available) {
+                $this->logger->debug(
+                    "Sent request with: URL: {$fullUrl};\n METHOD: {$method};\n BODY: {$body};\n"
+                    ."HEADERS: ".json_encode(
+                        $headers
+                    )."\n\n and got response as CODE: {$httpResponse->getResponseCode()};\n"
+                    ."with RESPONSE BODY {$httpResponse->getBody()}",
+                    $this->getLoggerContext()
+                );
+            }
 
 
             return $this->mapHttpResponseToApiResponse($httpResponse);
@@ -218,4 +230,4 @@ class ClientImplementation implements Client, LoggerAwareInterface
     }
 
 
-}
\ No newline at end of file
+}