]> git.mxchange.org Git - friendica.git/commitdiff
LoggerFactory returns same object
authorArt4 <art4@wlabs.de>
Fri, 10 Jan 2025 10:33:55 +0000 (10:33 +0000)
committerArt4 <art4@wlabs.de>
Fri, 10 Jan 2025 10:33:55 +0000 (10:33 +0000)
src/Core/Logger/Factory/LoggerFactory.php
tests/Unit/Core/Logger/Factory/LoggerFactoryTest.php

index 77c06d4f8988cd5c6706c470ba7d55b1f034a05a..c789028a08b225d2d3e2c57f3f82c80bdfc235b3 100644 (file)
@@ -17,8 +17,14 @@ use Psr\Log\NullLogger;
  */
 final class LoggerFactory
 {
+       private LoggerInterface $logger;
+
        public function create(): LoggerInterface
        {
-               return new NullLogger();
+               if (! isset($this->logger)) {
+                       $this->logger = new NullLogger();
+               }
+
+               return $this->logger;
        }
 }
index 71ce0c741da82a614b4c6922e2c77edc92469b9b..1c42ec39ddfdcd51c6c9e707462526b5b993c18a 100644 (file)
@@ -21,4 +21,11 @@ class LoggerFactoryTest extends TestCase
 
                $this->assertInstanceOf(LoggerInterface::class, $factory->create());
        }
+
+       public function testLoggerFactoryCreateReturnsSameObject(): void
+       {
+               $factory = new LoggerFactory();
+
+               $this->assertSame($factory->create(), $factory->create());
+       }
 }