From 461d407d6b9958952f8a8b093cfd776e786c1d42 Mon Sep 17 00:00:00 2001 From: Nikolay Lobachev Date: Wed, 21 Mar 2018 16:33:05 +0100 Subject: [PATCH] Add logger channel generation for generate:service command --- src/Command/Generate/ServiceCommand.php | 19 +++++++++++++++++++ templates/module/services.yml.twig | 8 +++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Command/Generate/ServiceCommand.php b/src/Command/Generate/ServiceCommand.php index 3e387da35..fe4f763d3 100644 --- a/src/Command/Generate/ServiceCommand.php +++ b/src/Command/Generate/ServiceCommand.php @@ -120,6 +120,12 @@ protected function configure() InputOption::VALUE_OPTIONAL, $this->trans('commands.generate.service.options.interface-name') ) + ->addOption( + 'logger-channel', + null, + InputOption::VALUE_NONE, + $this->trans('commands.generate.service.options.logger-channel') + ) ->addOption( 'services', null, @@ -150,6 +156,7 @@ protected function execute(InputInterface $input, OutputInterface $output) $class = $this->validator->validateClassName($input->getOption('class')); $interface = $input->getOption('interface'); $interface_name = $input->getOption('interface-name'); + $logger_channel = $input->getOption('logger-channel'); $services = $input->getOption('services'); $path_service = $input->getOption('path-service'); @@ -171,6 +178,8 @@ protected function execute(InputInterface $input, OutputInterface $output) 'name' => $name, 'class' => $class, 'interface' => $interface, + 'interface_name' => $interface_name, + 'logger_channel' => $logger_channel, 'services' => $build_services, 'path_service' => $path_service, ]); @@ -230,6 +239,16 @@ function ($class) { $input->setOption('interface-name', $interface_name); } + // --logger-channel option + $logger_channel = $input->getOption('logger-channel'); + if (!$logger_channel) { + $logger_channel = $this->getIo()->confirm( + $this->trans('commands.generate.service.questions.logger-channel'), + true + ); + $input->setOption('logger-channel', $logger_channel); + } + // --services option $services = $input->getOption('services'); if (!$services) { diff --git a/templates/module/services.yml.twig b/templates/module/services.yml.twig index 11dfefc62..f3020fe33 100644 --- a/templates/module/services.yml.twig +++ b/templates/module/services.yml.twig @@ -1,7 +1,12 @@ -{% if name is defined %} {% if not file_exists %} services: {% endif %} +{% if logger_channel is defined %} + logger.channel.{{ module }}: + parent: logger.channel_base + arguments: ['{{ module }}'] +{% endif %} +{% if name is defined %} {{ name | lower }}: class: {{ class_path }} {% if services is defined %} @@ -11,4 +16,5 @@ services: tags: - { {{ tagsAsArray(tags)|join(', ') }} } {% endif %} + {% endif %}