Hi All,
I need to get curl response array values in custom log file.
Here is my code. But its not working
private function getPostCurlData($url, $data, $mass) { $ch = curl_init($url); if($mass ==1){ $requestBody = $this->bodymassBuilder($data); } else{ $requestBody = $this->bodyBuilder($data); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if($data){ // var_dump($requestBody);exit; curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json','Content-Type: application/json', )); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody); curl_getinfo($ch); } else{ curl_setopt($ch, CURLOPT_HTTPHEADER, array('accept: application/json', )); //WARNING: this would prevent curl from detecting a 'man in the middle' attack curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); } $response = curl_exec($ch); if($response) { $responseDecode = json_decode($response, true); /* $this->writeResponseLog('- Lead Status - :' . $responseDecode['result'][0]['status']); */ $writer = new \Zend\Log\Writer\Stream(BP . '/var/log/templog.log'); $logger = new \Zend\Log\Logger(); $logger->addWriter($writer); $logger->info(print_r($responseDecode, true)); return $response; } else { //$this->writeResponseLog('Parameters are not valid'); return "Parameters not valid"; } curl_close($ch); }
Hello @Shiwani Miglani
I have checked your a log code.
Below code is working fine.
$responseDecode = json_decode($response, true); /* $this->writeResponseLog('- Lead Status - :' . $responseDecode['result'][0]['status']); */ $writer = new \Zend\Log\Writer\Stream(BP . '/var/log/templog.log'); $logger = new \Zend\Log\Logger(); $logger->addWriter($writer); $logger->info(print_r($responseDecode, true));
Maybe this issues because of your response.
Please check.
$response = curl_exec($ch);
print_r($response);
if it is working then must work the log code.
Please let me know if still, you are facing the same issues.
If you got a proper solution, please Accept as Solution & Click Kudos.
Thanks for the reply.
I am getting this array in this response.
I need to get the status value. I am getting like this. But it's not working.
$responseDecode = json_decode($response, true); $writer = new \Zend\Log\Writer\Stream(BP . '/var/log/templog.log');
$logger = new \Zend\Log\Logger();$logger->addWriter($writer);
$logger->info($responseDecode['result'][0]['status']);
Thanks
Please check first
print_r($responseDecode['result'][0]['status']);
If you got a result please try.
$logger->info(print_r($responseDecode['result'][0]['status'], true));
Please let me know if still, you are facing the same issues.
If you got a proper solution, please Accept as Solution & Click Kudos.