From c1dde29ef696291226fab77790d94a523c200da5 Mon Sep 17 00:00:00 2001 From: Art4 Date: Mon, 13 Jan 2025 15:17:20 +0000 Subject: [PATCH 1/3] Add description for LegacyLoggerFactory --- src/Core/Logger/Factory/LegacyLoggerFactory.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Core/Logger/Factory/LegacyLoggerFactory.php b/src/Core/Logger/Factory/LegacyLoggerFactory.php index 485f3b09dc..5c91d11771 100644 --- a/src/Core/Logger/Factory/LegacyLoggerFactory.php +++ b/src/Core/Logger/Factory/LegacyLoggerFactory.php @@ -15,7 +15,17 @@ use Friendica\Util\Profiler; use Psr\Log\LoggerInterface; /** - * Manager for the core logging instances + * Bridge for the legacy Logger factory. + * + * This class can be removed after the following classes are replaced or + * refactored implementing the `\Friendica\Core\Logger\Factory\LoggerFactory`: + * + * - Friendica\Core\Logger\Factory\StreamLogger + * - Friendica\Core\Logger\Factory\SyslogLogger + * - monolog addon: Friendica\Addon\monolog\src\Factory\Monolog + * + * @see \Friendica\Core\Logger\Factory\StreamLogger + * @see \Friendica\Core\Logger\Factory\SyslogLogger */ final class LegacyLoggerFactory implements LoggerFactory { From 39088ab003b2af862209ba777276577d6325619c Mon Sep 17 00:00:00 2001 From: Art4 Date: Mon, 13 Jan 2025 16:41:35 +0000 Subject: [PATCH 2/3] Clean static private properties of LoggerManager after test --- tests/Unit/Core/Logger/LoggerManagerTest.php | 48 ++++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/tests/Unit/Core/Logger/LoggerManagerTest.php b/tests/Unit/Core/Logger/LoggerManagerTest.php index 14db1c2676..0dae2fcc6c 100644 --- a/tests/Unit/Core/Logger/LoggerManagerTest.php +++ b/tests/Unit/Core/Logger/LoggerManagerTest.php @@ -23,30 +23,30 @@ class LoggerManagerTest extends TestCase { public function testGetLoggerReturnsPsrLogger(): void { - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); - $factory = new LoggerManager( $this->createStub(IManageConfigValues::class), $this->createStub(LoggerFactory::class) ); $this->assertInstanceOf(LoggerInterface::class, $factory->getLogger()); + + $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue(null, null); } public function testGetLoggerReturnsSameObject(): void { - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); - $factory = new LoggerManager( $this->createStub(IManageConfigValues::class), $this->createStub(LoggerFactory::class) ); $this->assertSame($factory->getLogger(), $factory->getLogger()); + + $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue(null, null); } public function testGetLoggerWithDebugDisabledReturnsNullLogger(): void @@ -56,16 +56,16 @@ class LoggerManagerTest extends TestCase ['system', 'debugging', null, false], ]); - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); - $factory = new LoggerManager( $config, $this->createStub(LoggerFactory::class) ); $this->assertInstanceOf(NullLogger::class, $factory->getLogger()); + + $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue(null, null); } public function testGetLoggerWithProfilerEnabledReturnsProfilerLogger(): void @@ -76,16 +76,16 @@ class LoggerManagerTest extends TestCase ['system', 'profiling', null, true], ]); - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); - $factory = new LoggerManager( $config, $this->createStub(LoggerFactory::class) ); $this->assertInstanceOf(ProfilerLogger::class, $factory->getLogger()); + + $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue(null, null); } public function testChangeLogChannelReturnsDifferentLogger(): void @@ -96,10 +96,6 @@ class LoggerManagerTest extends TestCase ['system', 'profiling', null, true], ]); - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); - $factory = new LoggerManager( $config, $this->createStub(LoggerFactory::class) @@ -110,6 +106,10 @@ class LoggerManagerTest extends TestCase $factory->changeLogChannel(LogChannel::CONSOLE); $this->assertNotSame($logger1, $factory->getLogger()); + + $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue(null, null); } public function testChangeLogChannelToWorkerReturnsWorkerLogger(): void @@ -120,10 +120,6 @@ class LoggerManagerTest extends TestCase ['system', 'profiling', null, true], ]); - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); - $factory = new LoggerManager( $config, $this->createStub(LoggerFactory::class) @@ -132,5 +128,9 @@ class LoggerManagerTest extends TestCase $factory->changeLogChannel(LogChannel::WORKER); $this->assertInstanceOf(WorkerLogger::class, $factory->getLogger()); + + $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue(null, null); } } From f9b7b6a41358355e4af4a8340f19cd897ca59065 Mon Sep 17 00:00:00 2001 From: Art4 Date: Mon, 13 Jan 2025 16:52:05 +0000 Subject: [PATCH 3/3] Clean private static properties of LoggerManager via tearDown method --- tests/Unit/Core/Logger/LoggerManagerTest.php | 41 ++++++++------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/tests/Unit/Core/Logger/LoggerManagerTest.php b/tests/Unit/Core/Logger/LoggerManagerTest.php index 0dae2fcc6c..02f9c0b2e2 100644 --- a/tests/Unit/Core/Logger/LoggerManagerTest.php +++ b/tests/Unit/Core/Logger/LoggerManagerTest.php @@ -21,6 +21,23 @@ use Psr\Log\NullLogger; class LoggerManagerTest extends TestCase { + /** + * Clean the private static properties + * + * @see LoggerManager::$logger + * @see LoggerManager::$logChannel + */ + protected function tearDown(): void + { + $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue(null, null); + + $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logChannel'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue(null, LogChannel::DEFAULT); + } + public function testGetLoggerReturnsPsrLogger(): void { $factory = new LoggerManager( @@ -29,10 +46,6 @@ class LoggerManagerTest extends TestCase ); $this->assertInstanceOf(LoggerInterface::class, $factory->getLogger()); - - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); } public function testGetLoggerReturnsSameObject(): void @@ -43,10 +56,6 @@ class LoggerManagerTest extends TestCase ); $this->assertSame($factory->getLogger(), $factory->getLogger()); - - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); } public function testGetLoggerWithDebugDisabledReturnsNullLogger(): void @@ -62,10 +71,6 @@ class LoggerManagerTest extends TestCase ); $this->assertInstanceOf(NullLogger::class, $factory->getLogger()); - - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); } public function testGetLoggerWithProfilerEnabledReturnsProfilerLogger(): void @@ -82,10 +87,6 @@ class LoggerManagerTest extends TestCase ); $this->assertInstanceOf(ProfilerLogger::class, $factory->getLogger()); - - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); } public function testChangeLogChannelReturnsDifferentLogger(): void @@ -106,10 +107,6 @@ class LoggerManagerTest extends TestCase $factory->changeLogChannel(LogChannel::CONSOLE); $this->assertNotSame($logger1, $factory->getLogger()); - - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); } public function testChangeLogChannelToWorkerReturnsWorkerLogger(): void @@ -128,9 +125,5 @@ class LoggerManagerTest extends TestCase $factory->changeLogChannel(LogChannel::WORKER); $this->assertInstanceOf(WorkerLogger::class, $factory->getLogger()); - - $reflectionProperty = new \ReflectionProperty(LoggerManager::class, 'logger'); - $reflectionProperty->setAccessible(true); - $reflectionProperty->setValue(null, null); } }