Replace own VoidLogger with PSR-Standard NullLogger()

This commit is contained in:
Philipp 2021-10-23 12:26:06 +02:00
parent 184f6cc255
commit fa55928ea3
No known key found for this signature in database
GPG Key ID: 24A7501396EB5432
7 changed files with 20 additions and 231 deletions

View File

@ -32,11 +32,11 @@ use Friendica\Core\Logger\Type\Monolog\IntrospectionProcessor;
use Friendica\Core\Logger\Type\ProfilerLogger; use Friendica\Core\Logger\Type\ProfilerLogger;
use Friendica\Core\Logger\Type\StreamLogger; use Friendica\Core\Logger\Type\StreamLogger;
use Friendica\Core\Logger\Type\SyslogLogger; use Friendica\Core\Logger\Type\SyslogLogger;
use Friendica\Core\Logger\Type\VoidLogger;
use Friendica\Util\Profiler; use Friendica\Util\Profiler;
use Monolog; use Monolog;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel; use Psr\Log\LogLevel;
use Psr\Log\NullLogger;
/** /**
* A logger factory * A logger factory
@ -78,7 +78,7 @@ class Logger
public function create(Database $database, IManageConfigValues $config, Profiler $profiler, FileSystem $fileSystem): LoggerInterface public function create(Database $database, IManageConfigValues $config, Profiler $profiler, FileSystem $fileSystem): LoggerInterface
{ {
if (empty($config->get('system', 'debugging', false))) { if (empty($config->get('system', 'debugging', false))) {
$logger = new VoidLogger(); $logger = new NullLogger();
$database->setLogger($logger); $database->setLogger($logger);
return $logger; return $logger;
} }
@ -107,7 +107,7 @@ class Logger
} catch (\Throwable $e) { } catch (\Throwable $e) {
// No Logger .. // No Logger ..
/// @todo isn't it possible to give the admin any hint about this wrong configuration? /// @todo isn't it possible to give the admin any hint about this wrong configuration?
$logger = new VoidLogger(); $logger = new NullLogger();
} }
} }
break; break;
@ -118,7 +118,7 @@ class Logger
} catch (\Throwable $e) { } catch (\Throwable $e) {
// No logger ... // No logger ...
/// @todo isn't it possible to give the admin any hint about this wrong configuration? /// @todo isn't it possible to give the admin any hint about this wrong configuration?
$logger = new VoidLogger(); $logger = new NullLogger();
} }
break; break;
@ -132,11 +132,11 @@ class Logger
} catch (\Throwable $t) { } catch (\Throwable $t) {
// No logger ... // No logger ...
/// @todo isn't it possible to give the admin any hint about this wrong configuration? /// @todo isn't it possible to give the admin any hint about this wrong configuration?
$logger = new VoidLogger(); $logger = new NullLogger();
} }
} else { } else {
/// @todo isn't it possible to give the admin any hint about this wrong configuration? /// @todo isn't it possible to give the admin any hint about this wrong configuration?
$logger = new VoidLogger(); $logger = new NullLogger();
} }
break; break;
} }
@ -175,7 +175,7 @@ class Logger
if ((!isset($developerIp) || !$debugging) && if ((!isset($developerIp) || !$debugging) &&
(!is_file($stream) || is_writable($stream))) { (!is_file($stream) || is_writable($stream))) {
return new VoidLogger(); return new NullLogger();
} }
$loggerTimeZone = new \DateTimeZone('UTC'); $loggerTimeZone = new \DateTimeZone('UTC');

View File

@ -1,159 +0,0 @@
<?php
/**
* @copyright Copyright (C) 2010-2021, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
namespace Friendica\Core\Logger\Type;
use Psr\Log\LoggerInterface;
/**
* A Logger instance to not log
*/
class VoidLogger implements LoggerInterface
{
/**
* System is unusable.
*
* @param string $message
* @param array $context
*
* @return void
*/
public function emergency($message, array $context = array())
{
return;
}
/**
* Action must be taken immediately.
*
* Example: Entire website down, database unavailable, etc. This should
* trigger the SMS alerts and wake you up.
*
* @param string $message
* @param array $context
*
* @return void
*/
public function alert($message, array $context = array())
{
return;
}
/**
* Critical conditions.
*
* Example: Application component unavailable, unexpected exception.
*
* @param string $message
* @param array $context
*
* @return void
*/
public function critical($message, array $context = array())
{
return;
}
/**
* Runtime errors that do not require immediate action but should typically
* be logged and monitored.
*
* @param string $message
* @param array $context
*
* @return void
*/
public function error($message, array $context = array())
{
return;
}
/**
* Exceptional occurrences that are not errors.
*
* Example: Use of deprecated APIs, poor use of an API, undesirable things
* that are not necessarily wrong.
*
* @param string $message
* @param array $context
*
* @return void
*/
public function warning($message, array $context = array())
{
return;
}
/**
* Normal but significant events.
*
* @param string $message
* @param array $context
*
* @return void
*/
public function notice($message, array $context = array())
{
return;
}
/**
* Interesting events.
*
* Example: User logs in, SQL logs.
*
* @param string $message
* @param array $context
*
* @return void
*/
public function info($message, array $context = array())
{
return;
}
/**
* Detailed debug information.
*
* @param string $message
* @param array $context
*
* @return void
*/
public function debug($message, array $context = array())
{
return;
}
/**
* Logs with an arbitrary level.
*
* @param mixed $level
* @param string $message
* @param array $context
*
* @return void
*/
public function log($level, $message, array $context = array())
{
return;
}
}

View File

@ -32,11 +32,11 @@ use Friendica\Database\Database;
use Friendica\DI; use Friendica\DI;
use Friendica\Test\Util\RendererMockTrait; use Friendica\Test\Util\RendererMockTrait;
use Friendica\Test\Util\VFSTrait; use Friendica\Test\Util\VFSTrait;
use Friendica\Core\Logger\Type\VoidLogger;
use Mockery; use Mockery;
use Mockery\MockInterface; use Mockery\MockInterface;
use org\bovigo\vfs\vfsStream; use org\bovigo\vfs\vfsStream;
use org\bovigo\vfs\vfsStreamFile; use org\bovigo\vfs\vfsStreamFile;
use Psr\Log\NullLogger;
class AutomaticInstallationConsoleTest extends ConsoleTest class AutomaticInstallationConsoleTest extends ConsoleTest
{ {
@ -117,7 +117,7 @@ class AutomaticInstallationConsoleTest extends ConsoleTest
}); });
$this->mode->shouldReceive('isInstall')->andReturn(true); $this->mode->shouldReceive('isInstall')->andReturn(true);
Logger::init(new VoidLogger()); Logger::init(new NullLogger());
} }
/** /**

View File

@ -5,7 +5,7 @@ namespace Friendica\Test\src\Contact\FriendSuggest\Factory;
use Friendica\Contact\FriendSuggest\Factory\FriendSuggest; use Friendica\Contact\FriendSuggest\Factory\FriendSuggest;
use Friendica\Contact\FriendSuggest\Entity; use Friendica\Contact\FriendSuggest\Entity;
use Friendica\Test\MockedTest; use Friendica\Test\MockedTest;
use Friendica\Core\Logger\Type\VoidLogger; use Psr\Log\NullLogger;
class FriendSuggestTest extends MockedTest class FriendSuggestTest extends MockedTest
{ {
@ -91,7 +91,7 @@ class FriendSuggestTest extends MockedTest
public function testCreateNew() public function testCreateNew()
{ {
$factory = new FriendSuggest(new VoidLogger()); $factory = new FriendSuggest(new NullLogger());
$this->assertFriendSuggest( $this->assertFriendSuggest(
$factory->createNew(12, 13), $factory->createNew(12, 13),
@ -106,14 +106,14 @@ class FriendSuggestTest extends MockedTest
*/ */
public function testCreateFromTableRow(array $input, Entity\FriendSuggest $assertion) public function testCreateFromTableRow(array $input, Entity\FriendSuggest $assertion)
{ {
$factory = new FriendSuggest(new VoidLogger()); $factory = new FriendSuggest(new NullLogger());
$this->assertFriendSuggest($factory->createFromTableRow($input), $assertion); $this->assertFriendSuggest($factory->createFromTableRow($input), $assertion);
} }
public function testCreateEmpty() public function testCreateEmpty()
{ {
$factory = new FriendSuggest(new VoidLogger()); $factory = new FriendSuggest(new NullLogger());
$this->assertFriendSuggest($factory->createEmpty(66), new Entity\FriendSuggest(0, 0, '', '', '', '', '', $this->assertFriendSuggest($factory->createEmpty(66), new Entity\FriendSuggest(0, 0, '', '', '', '', '',
new \DateTime('now', new \DateTimeZone('UTC')), 66 new \DateTime('now', new \DateTimeZone('UTC')), 66

View File

@ -1,52 +0,0 @@
<?php
/**
* @copyright Copyright (C) 2010-2021, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
namespace Friendica\Test\src\Core\Logger;
use Friendica\Test\MockedTest;
use Friendica\Core\Logger\Type\VoidLogger;
use Psr\Log\LogLevel;
class VoidLoggerTest extends MockedTest
{
use LoggerDataTrait;
/**
* Test if the profiler is profiling data
* @dataProvider dataTests
* @doesNotPerformAssertions
*/
public function testNormal($function, $message, array $context)
{
$logger = new VoidLogger();
$logger->$function($message, $context);
}
/**
* Test the log() function
* @doesNotPerformAssertions
*/
public function testProfilingLog()
{
$logger = new VoidLogger();
$logger->log(LogLevel::WARNING, 'test', ['a' => 'context']);
}
}

View File

@ -11,8 +11,8 @@ use Friendica\Security\PermissionSet\Factory\PermissionSet as PermissionSetFacto
use Friendica\Test\MockedTest; use Friendica\Test\MockedTest;
use Friendica\Util\ACLFormatter; use Friendica\Util\ACLFormatter;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
use Friendica\Core\Logger\Type\VoidLogger;
use Mockery\MockInterface; use Mockery\MockInterface;
use Psr\Log\NullLogger;
class ProfileFieldTest extends MockedTest class ProfileFieldTest extends MockedTest
{ {
@ -28,8 +28,8 @@ class ProfileFieldTest extends MockedTest
parent::setUp(); parent::setUp();
$this->permissionSetRepository = \Mockery::mock(PermissionSetRepository::class); $this->permissionSetRepository = \Mockery::mock(PermissionSetRepository::class);
$this->permissionSetFactory = new PermissionSetFactory(new VoidLogger(), new ACLFormatter()); $this->permissionSetFactory = new PermissionSetFactory(new NullLogger(), new ACLFormatter());
$this->profileFieldFactory = new ProfileFieldFactory(new VoidLogger(), $this->permissionSetFactory); $this->profileFieldFactory = new ProfileFieldFactory(new NullLogger(), $this->permissionSetFactory);
} }
public function dataEntity() public function dataEntity()

View File

@ -5,14 +5,14 @@ namespace Friendica\Test\src\Security\TwoFactor\Factory;
use Friendica\Security\TwoFactor\Factory\TrustedBrowser; use Friendica\Security\TwoFactor\Factory\TrustedBrowser;
use Friendica\Test\MockedTest; use Friendica\Test\MockedTest;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
use Friendica\Core\Logger\Type\VoidLogger;
use Friendica\Util\Strings; use Friendica\Util\Strings;
use Psr\Log\NullLogger;
class TrustedBrowserTest extends MockedTest class TrustedBrowserTest extends MockedTest
{ {
public function testCreateFromTableRowSuccess() public function testCreateFromTableRowSuccess()
{ {
$factory = new TrustedBrowser(new VoidLogger()); $factory = new TrustedBrowser(new NullLogger());
$row = [ $row = [
'cookie_hash' => Strings::getRandomHex(), 'cookie_hash' => Strings::getRandomHex(),
@ -31,7 +31,7 @@ class TrustedBrowserTest extends MockedTest
{ {
$this->expectException(\TypeError::class); $this->expectException(\TypeError::class);
$factory = new TrustedBrowser(new VoidLogger()); $factory = new TrustedBrowser(new NullLogger());
$row = [ $row = [
'cookie_hash' => null, 'cookie_hash' => null,
@ -48,7 +48,7 @@ class TrustedBrowserTest extends MockedTest
public function testCreateForUserWithUserAgent() public function testCreateForUserWithUserAgent()
{ {
$factory = new TrustedBrowser(new VoidLogger()); $factory = new TrustedBrowser(new NullLogger());
$uid = 42; $uid = 42;
$userAgent = 'PHPUnit'; $userAgent = 'PHPUnit';