、私はDI注入およびオートワイヤリングと私のサービスに、これらのサービスを注入することができますどのように次の名前monolog.logger.<channel_name>
symfonyのオートワイヤリングのモノローグチャネル
でサービスを作成する多くのチャネルを作成することができますか?
class FooService
{
public function __construct(LoggerInterface $loggerInterface) { }
}
YAML
#existing
foo_service:
class: AppBundle\Services\FooService
arguments: ["@monolog.logger.barchannel"]
# what I want to do
foo_service:
autowire: true # how to inject @monolog.logger.barchannel ?
以前の料理の本エントリはちょうどそれを説明する:[サービス内のロガーを使用](http://symfony.com/doc/current/logging.html#using-a-logger-inside-a -service)の例については、[monolog.logger](http://symfony.com/doc/current/reference/dic_tags.html#monolog-logger)を参照してください。 – ccKep
私が知っている限り、あなたは現時点でそれを行うことはできません:((Symfony 3.3))それは、Setter上でDIを持つといいでしょう。そのパラメータは、 "@monolog.logger.custom_channel私が現時点で行っていることは、ロガーのカスタムクラスを作成し、 "@ monolog.logger.custom_channel"を注入し、ロガーを使用するクラスでオートワイヤリングを使用することです。そうすれば、DIセッターfunctionallityは将来適応されますが、autowiringはメインクラスにとどまります。 –