From f98235d44d9fd3135c158dc9c89e579cf26f07a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Haas?= Date: Thu, 2 May 2024 19:46:14 +0200 Subject: [PATCH] Allow command classes to set their own logger channel (#5963) --- src/Commands/DrushCommands.php | 2 +- src/Runtime/ServiceManager.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Commands/DrushCommands.php b/src/Commands/DrushCommands.php index c92751c5fa..f6a98d92b5 100644 --- a/src/Commands/DrushCommands.php +++ b/src/Commands/DrushCommands.php @@ -69,7 +69,7 @@ protected function io(): DrushStyle /** * Returns a logger object. */ - protected function logger(): ?DrushLoggerManager + public function logger(): ?DrushLoggerManager { return $this->logger; } diff --git a/src/Runtime/ServiceManager.php b/src/Runtime/ServiceManager.php index 24e8bcb50a..9ad4ef0f2a 100644 --- a/src/Runtime/ServiceManager.php +++ b/src/Runtime/ServiceManager.php @@ -451,7 +451,7 @@ public function inflect(DrushContainer $container, $object): void if ($object instanceof ConfigAwareInterface) { $object->setConfig($container->get('config')); } - if ($object instanceof LoggerAwareInterface) { + if ($object instanceof LoggerAwareInterface && (!method_exists($object, 'logger') || empty($object->logger()))) { $object->setLogger($container->get('logger')); } // Made available by DrushCommands (must preserve for basic bc)