Это возможно, но обычно это не очень хорошая практика. Хорошая вещь, которую нужно сделать, это отправить обратно результат репозитория вашему контроллеру или службе, и вы регистрируете от них ошибку или что-то еще.
Но если вы все еще хотите это сделать, репозиторий подобен сервисам (когда вы реализуете ServiceEntityRepository
, см. Этот слайд для получения дополнительной информации ). Если вы хотите зарегистрировать что-то конкретное внутри, вы должны добавить LoggerInterface в конфигурацию вашего репозитория (как вы это делаете со службой).
В вашем service.yml (или xml), если вы не используете autowire:
Your\Repository:
arguments: ['@logger']
В вашем классе хранилища:
/**
* @var LoggerInterface
*/
protected $logger;
public function __construct(LoggerInterface $logger)
{
$this->logger = $logger;
}