Все запросы к сервисам выполняются через класс \Bitrix\Main\Web\HttpClient()
. Поэтому можно воспользвоаться встроенным логером.
Подробнее в документации - документации
Для логирования запросов через класс HttpClient
добавляем в файл /bitrix/.settings_extra.php
передачу логера, приведя его к подобному виду
<?php
return [
'composer' => [
'value' => ['config_path' => './composer.json']
],
'utf_mode' => [
'value' => true,
'readonly' => true,
],
'loggers' => [
'value' => [
'main.HttpClient' => [
'constructor' => function (\Bitrix\Main\Web\Http\DebugInterface $debug, \Psr\Http\Message\RequestInterface $request) {
/* if($request->getUri()->getHost() !== 'example.com')
{
return null;
}*/
$debug->setDebugLevel(\Bitrix\Main\Web\HttpDebug::ALL);
return new \Bitrix\Main\Diag\FileLogger(
sprintf('%s/logs/httplog/%s_%s.txt',
$_SERVER["DOCUMENT_ROOT"],
date('Y_m_d_H_i_s'),
spl_object_hash($request)
)
);
},
'level' => \Psr\Log\LogLevel::DEBUG,
],
],
'readonly' => true,
],
];
Важно создать папку для логов заранее, из примера это -
/logs/httplog/
После выполнения хотябы одного запроса, в дирректории появятся отдельный файлы на каждый запрос.
Файл с логом будет содержать все заголовки и тело как запроса, так и ответа.