Проблема Symfony 4 с «использованием регистратора внутри службы» - PullRequest
0 голосов
/ 17 апреля 2019

Ошибка: "Служба или псевдоним \" logger \ "была удалена или встроена при компиляции контейнера. Вы должны либо сделать его общедоступным, либо прекратить использование контейнера напрямую и использовать вместо него внедрение зависимостей."

Это мои услуги. Yaml

services:
    # default configuration for services in *this* file
    _defaults:
        autowire: true     
        autoconfigure: true
        public: true


    class: App\Services\PasswordHasher
    arguments: ["%password_salt_user%", "@logger"]
    public: true
personal_email_handler:

server_name_generator:
    class: App\Services\ServerNameGenerator
    arguments: ["%server_name_generator%", "@logger"]
    public: true
shmp:
    class: App\MasterApi\Services\Shmp
    arguments: ["%shmp%", "@logger"]
    public: true
    tags:
        - { name: monolog.logger, channel: shmp }
stats_token:
    class: App\Services\StatsToken
    arguments: ["%token.stats%", "@logger"]
    public: true
webftp_token:
    class: App\Services\WebftpToken
    arguments: ["%token.webftp%", "@logger"]
    public: true
lms_connector:
    class: App\Services\LmsConnector
    arguments: ["%lms%", "@logger"]
    public: true
    tags:
        - { name: monolog.logger, channel: dreamcommerce }

ПРИМЕРНЫЕ УСЛУГИ lms_connector

<?php

namespace App\Services;

use Symfony\Bridge\Monolog\Logger;
use Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException;
use Symfony\Component\DependencyInjection\ContainerInterface;

class LmsConnector
{
    /**
     * @var \Psr\Log\LoggerAwareInterface Obiekt loggera
     */
    protected $logger;
.
.
.

 /**
     * @param \Symfony\Bridge\Monolog\Logger $logger obiekt loggera
     */
    public function __construct(array $config, Logger $logger)
    {
        $this->logger = $logger;
       .
       .
       .
    }

Я не знаю, как решить эту проблему. Вы можете мне помочь?

...