biplane / yandex-direct

PHP library for Yandex.Direct API.
MIT License
44 stars 23 forks source link

Поддержка логирования и events в сервисе Reports #53

Open dmachehin opened 1 year ago

dmachehin commented 1 year ago

Сейчас сервис Reports не имеет событий или логирование, это баг или фича?))

Хорошо бы добавить хотя бы логирование

yethee commented 1 year ago

События не поддерживаются сервисом Reports, потому что были планы их выпилить вообще в 5.x. На мой взгляд, в данном контексте направление с событиями не нужно развивать, польза околонулевая.

Над логированием можно подумать.

Сейчас вопрос с логированием можно решить на уровне http-клиента. Например, используя php-http/logger-plugin; если используется symfony/http-client, то можно так:

use Biplane\YandexDirect\ReportServiceFactory;
use Psr\Log\LoggerAwareInterface;
use Symfony\Component\HttpClient\HttpClient;
use Symfony\Component\HttpClient\Psr18Client;

$client = HttpClient::create();

if ($client instanceof LoggerAwareInterface) {
    $client->setLogger($logger);
}

$reportFactory = new ReportServiceFactory(new Psr18Client($client));
dmachehin commented 1 year ago

Сделал через middleware в httpclient, спасибо. Оставляю задачу на ваше усмотрение (насчет добавления логирования)