Restructure Logger to new paradigm

This commit is contained in:
Philipp 2021-10-23 12:22:27 +02:00
parent 0fe545ab17
commit 184f6cc255
No known key found for this signature in database
GPG key ID: 24A7501396EB5432
28 changed files with 219 additions and 169 deletions

View file

@ -32,7 +32,7 @@ use Friendica\Database\Database;
use Friendica\DI;
use Friendica\Test\Util\RendererMockTrait;
use Friendica\Test\Util\VFSTrait;
use Friendica\Util\Logger\VoidLogger;
use Friendica\Core\Logger\Type\VoidLogger;
use Mockery;
use Mockery\MockInterface;
use org\bovigo\vfs\vfsStream;

View file

@ -5,7 +5,7 @@ namespace Friendica\Test\src\Contact\FriendSuggest\Factory;
use Friendica\Contact\FriendSuggest\Factory\FriendSuggest;
use Friendica\Contact\FriendSuggest\Entity;
use Friendica\Test\MockedTest;
use Friendica\Util\Logger\VoidLogger;
use Friendica\Core\Logger\Type\VoidLogger;
class FriendSuggestTest extends MockedTest
{

View file

@ -19,7 +19,7 @@
*
*/
namespace Friendica\Test\src\Util\Logger;
namespace Friendica\Test\src\Core\Logger;
use Friendica\Test\MockedTest;
use Friendica\Util\Introspection;

View file

@ -19,7 +19,7 @@
*
*/
namespace Friendica\Test\src\Util\Logger;
namespace Friendica\Test\src\Core\Logger;
trait LoggerDataTrait
{

View file

@ -19,10 +19,10 @@
*
*/
namespace Friendica\Test\src\Util\Logger;
namespace Friendica\Test\src\Core\Logger;
use Friendica\Test\MockedTest;
use Friendica\Util\Logger\ProfilerLogger;
use Friendica\Core\Logger\Type\ProfilerLogger;
use Friendica\Util\Profiler;
use Mockery\MockInterface;
use Psr\Log\LoggerInterface;

View file

@ -19,11 +19,13 @@
*
*/
namespace Friendica\Test\src\Util\Logger;
namespace Friendica\Test\src\Core\Logger;
use Friendica\Core\Logger\Exception\LoggerArgumentException;
use Friendica\Core\Logger\Exception\LoggerException;
use Friendica\Util\FileSystem;
use Friendica\Test\Util\VFSTrait;
use Friendica\Util\Logger\StreamLogger;
use Friendica\Core\Logger\Type\StreamLogger;
use org\bovigo\vfs\vfsStream;
use org\bovigo\vfs\vfsStreamFile;
use Psr\Log\LogLevel;
@ -82,7 +84,7 @@ class StreamLoggerTest extends AbstractLoggerTest
$filehandler = fopen($logfile->url(), 'ab');
$logger = new StreamLogger('test', $filehandler, $this->introspection, $this->fileSystem);
$logger = new \Friendica\Core\Logger\Type\StreamLogger('test', $filehandler, $this->introspection, $this->fileSystem);
$logger->emergency('working');
$text = $logfile->getContent();
@ -114,7 +116,7 @@ class StreamLoggerTest extends AbstractLoggerTest
*/
public function testNoUrl()
{
$this->expectException(\LogicException::class);
$this->expectException(LoggerArgumentException::class);
$this->expectExceptionMessage("Missing stream URL.");
$logger = new StreamLogger('test', '', $this->introspection, $this->fileSystem);
@ -127,8 +129,8 @@ class StreamLoggerTest extends AbstractLoggerTest
*/
public function testWrongUrl()
{
$this->expectException(\UnexpectedValueException::class);
$this->expectExceptionMessageMatches("/The stream or file .* could not be opened: .* /");
$this->expectException(LoggerException::class);
$this->expectExceptionMessage("Cannot create stream.");
$logfile = vfsStream::newFile('friendica.log')
->at($this->root)->chmod(0);
@ -158,7 +160,7 @@ class StreamLoggerTest extends AbstractLoggerTest
*/
public function testWrongMinimumLevel()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectException(LoggerArgumentException::class);
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
$logger = new StreamLogger('test', 'file.text', $this->introspection, $this->fileSystem, 'NOPE');
@ -169,7 +171,7 @@ class StreamLoggerTest extends AbstractLoggerTest
*/
public function testWrongLogLevel()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectException(LoggerArgumentException::class);
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
$logfile = vfsStream::newFile('friendica.log')
@ -185,7 +187,7 @@ class StreamLoggerTest extends AbstractLoggerTest
*/
public function testWrongFile()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectException(LoggerArgumentException::class);
$this->expectExceptionMessage("A stream must either be a resource or a string.");
$logger = new StreamLogger('test', null, $this->introspection, $this->fileSystem);

View file

@ -19,9 +19,11 @@
*
*/
namespace Friendica\Test\src\Util\Logger;
namespace Friendica\Test\src\Core\Logger;
use Friendica\Util\Logger\SyslogLogger;
use Friendica\Core\Logger\Exception\LoggerArgumentException;
use Friendica\Core\Logger\Exception\LoggerException;
use Friendica\Core\Logger\Type\SyslogLogger;
use Psr\Log\LogLevel;
class SyslogLoggerTest extends AbstractLoggerTest
@ -62,7 +64,7 @@ class SyslogLoggerTest extends AbstractLoggerTest
*/
public function testWrongMinimumLevel()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectException(LoggerArgumentException::class);
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
$logger = new SyslogLoggerWrapper('test', $this->introspection, 'NOPE');
@ -73,7 +75,7 @@ class SyslogLoggerTest extends AbstractLoggerTest
*/
public function testWrongLogLevel()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectException(LoggerArgumentException::class);
$this->expectExceptionMessageMatches("/The level \".*\" is not valid./");
$logger = new SyslogLoggerWrapper('test', $this->introspection);
@ -81,23 +83,6 @@ class SyslogLoggerTest extends AbstractLoggerTest
$logger->log('NOPE', 'a test');
}
/**
* Test when the logfacility is wrong (string)
*/
public function testServerException()
{
if (PHP_MAJOR_VERSION < 8) {
$this->expectException(\UnexpectedValueException::class);
$this->expectExceptionMessageMatches("/Can\'t open syslog for ident \".*\" and facility \".*\": .* /");
} else {
$this->expectException(\TypeError::class);
$this->expectExceptionMessage("openlog(): Argument #3 (\$facility) must be of type int, string given");
}
$logger = new SyslogLoggerWrapper('test', $this->introspection, LogLevel::DEBUG, null, 'a string');
$logger->emergency('not working');
}
/**
* Test the close() method
* @doesNotPerformAssertions

View file

@ -19,10 +19,10 @@
*
*/
namespace Friendica\Test\src\Util\Logger;
namespace Friendica\Test\src\Core\Logger;
use Friendica\Core\Logger\Type\SyslogLogger;
use Friendica\Util\Introspection;
use Friendica\Util\Logger\SyslogLogger;
use Psr\Log\LogLevel;
/**
@ -53,7 +53,7 @@ class SyslogLoggerWrapper extends SyslogLogger
* {@inheritdoc}
* @noinspection PhpMissingParentCallCommonInspection
*/
protected function syslogWrapper($level, $entry)
protected function syslogWrapper(int $level, string $entry)
{
$this->content .= $entry . PHP_EOL;
}

View file

@ -19,10 +19,10 @@
*
*/
namespace Friendica\Test\src\Util\Logger;
namespace Friendica\Test\src\Core\Logger;
use Friendica\Test\MockedTest;
use Friendica\Util\Logger\VoidLogger;
use Friendica\Core\Logger\Type\VoidLogger;
use Psr\Log\LogLevel;
class VoidLoggerTest extends MockedTest

View file

@ -19,10 +19,10 @@
*
*/
namespace Friendica\Test\src\Util\Logger;
namespace Friendica\Test\src\Core\Logger;
use Friendica\Core\Logger\Type\WorkerLogger;
use Friendica\Test\MockedTest;
use Friendica\Util\Logger\WorkerLogger;
use Psr\Log\LoggerInterface;
class WorkerLoggerTest extends MockedTest

View file

@ -11,7 +11,7 @@ use Friendica\Security\PermissionSet\Factory\PermissionSet as PermissionSetFacto
use Friendica\Test\MockedTest;
use Friendica\Util\ACLFormatter;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Logger\VoidLogger;
use Friendica\Core\Logger\Type\VoidLogger;
use Mockery\MockInterface;
class ProfileFieldTest extends MockedTest

View file

@ -5,7 +5,7 @@ namespace Friendica\Test\src\Security\TwoFactor\Factory;
use Friendica\Security\TwoFactor\Factory\TrustedBrowser;
use Friendica\Test\MockedTest;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Logger\VoidLogger;
use Friendica\Core\Logger\Type\VoidLogger;
use Friendica\Util\Strings;
class TrustedBrowserTest extends MockedTest