СМС оповещения

Логирование запросов

Все запросы к сервисам выполняются через класс \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/

После выполнения хотябы одного запроса, в дирректории появятся отдельный файлы на каждый запрос.

Файл с логом будет содержать все заголовки и тело как запроса, так и ответа.

2024-12-06_21-28.jpg