<?php
/*
* This file has been created by developers from BitBag.
* Feel free to contact us once you face any issues or want to start
* another great project.
* You can find more information about us on https://bitbag.io and write us
* an email on hello@bitbag.io.
*/
declare(strict_types=1);
namespace BitBag\SyliusB2BPlugin\EventListener;
use BitBag\SyliusB2BPlugin\Event\ImportFailedEvent;
use BitBag\SyliusB2BPlugin\Event\ImportSkippedEvent;
use BitBag\SyliusB2BPlugin\Event\ImportStartedEvent;
use BitBag\SyliusB2BPlugin\Event\ImportSucceededEvent;
use Psr\Log\LoggerInterface;
use function sprintf;
final class ImporterLogListener
{
private LoggerInterface $logger;
public function __construct(LoggerInterface $logger)
{
$this->logger = $logger;
}
public function onImportFailed(ImportFailedEvent $event): void
{
$this->logger->error(
sprintf('Error occurred during importing row %s for [%s]', $event->index(), $event->resourceCode()),
[
'row' => $event->row(),
'error' => $event->exceptionMessage(),
],
);
}
public function onImportSkipped(ImportSkippedEvent $event): void
{
$this->logger->alert(
sprintf('Import of row %d for [%s] skipped', $event->index(), $event->resourceCode()),
[
'row' => $event->row(),
],
);
}
public function onImportStarted(ImportStartedEvent $event): void
{
$this->logger->info(
sprintf('Import of row %d for [%s] has started', $event->index(), $event->resourceCode()),
[
'row' => $event->row(),
],
);
}
public function onImportSucceeded(ImportSucceededEvent $event): void
{
$this->logger->info(
sprintf('Import of row %d for [%s] succeeded', $event->index(), $event->resourceCode()),
[
'resourceId' => $event->resource()->getId(),
],
);
}
}