Rename & Testfix
This commit is contained in:
parent
cc8a6c85ae
commit
eec4ee3fed
8 changed files with 17 additions and 32 deletions
|
@ -6,8 +6,8 @@ use Friendica\Core\Config\Configuration;
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
use Friendica\Network\HTTPException\InternalServerErrorException;
|
use Friendica\Network\HTTPException\InternalServerErrorException;
|
||||||
use Friendica\Util\Introspection;
|
use Friendica\Util\Introspection;
|
||||||
use Friendica\Util\Logger\Monolog\FriendicaDevelopHandler;
|
use Friendica\Util\Logger\Monolog\DevelopHandler;
|
||||||
use Friendica\Util\Logger\Monolog\FriendicaIntrospectionProcessor;
|
use Friendica\Util\Logger\Monolog\IntrospectionProcessor;
|
||||||
use Friendica\Util\Logger\ProfilerLogger;
|
use Friendica\Util\Logger\ProfilerLogger;
|
||||||
use Friendica\Util\Logger\StreamLogger;
|
use Friendica\Util\Logger\StreamLogger;
|
||||||
use Friendica\Util\Logger\SyslogLogger;
|
use Friendica\Util\Logger\SyslogLogger;
|
||||||
|
@ -67,7 +67,7 @@ class LoggerFactory
|
||||||
$logger->pushProcessor(new Monolog\Processor\PsrLogMessageProcessor());
|
$logger->pushProcessor(new Monolog\Processor\PsrLogMessageProcessor());
|
||||||
$logger->pushProcessor(new Monolog\Processor\ProcessIdProcessor());
|
$logger->pushProcessor(new Monolog\Processor\ProcessIdProcessor());
|
||||||
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
|
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
|
||||||
$logger->pushProcessor(new FriendicaIntrospectionProcessor($introspection, LogLevel::DEBUG));
|
$logger->pushProcessor(new IntrospectionProcessor($introspection, LogLevel::DEBUG));
|
||||||
|
|
||||||
$stream = $config->get('system', 'logfile');
|
$stream = $config->get('system', 'logfile');
|
||||||
|
|
||||||
|
@ -139,9 +139,9 @@ class LoggerFactory
|
||||||
$logger->pushProcessor(new Monolog\Processor\PsrLogMessageProcessor());
|
$logger->pushProcessor(new Monolog\Processor\PsrLogMessageProcessor());
|
||||||
$logger->pushProcessor(new Monolog\Processor\ProcessIdProcessor());
|
$logger->pushProcessor(new Monolog\Processor\ProcessIdProcessor());
|
||||||
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
|
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
|
||||||
$logger->pushProcessor(new FriendicaIntrospectionProcessor($introspection, LogLevel::DEBUG));
|
$logger->pushProcessor(new IntrospectionProcessor($introspection, LogLevel::DEBUG));
|
||||||
|
|
||||||
$logger->pushHandler(new FriendicaDevelopHandler($developerIp));
|
$logger->pushHandler(new DevelopHandler($developerIp));
|
||||||
|
|
||||||
static::addStreamHandler($logger, $stream, LogLevel::DEBUG);
|
static::addStreamHandler($logger, $stream, LogLevel::DEBUG);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -16,7 +16,7 @@ use Psr\Log\LogLevel;
|
||||||
* - UID for each call
|
* - UID for each call
|
||||||
* - Channel of the current call (i.e. index, worker, daemon, ...)
|
* - Channel of the current call (i.e. index, worker, daemon, ...)
|
||||||
*/
|
*/
|
||||||
abstract class AbstractFriendicaLogger implements LoggerInterface
|
abstract class AbstractLogger implements LoggerInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The output channel of this logger
|
* The output channel of this logger
|
|
@ -11,7 +11,7 @@ use Monolog\Logger;
|
||||||
* If you want to debug only interactions from your IP or the IP of a remote server for federation debug,
|
* If you want to debug only interactions from your IP or the IP of a remote server for federation debug,
|
||||||
* you'll use Logger::develop() for the duration of your work, and you clean it up when you're done before submitting your PR.
|
* you'll use Logger::develop() for the duration of your work, and you clean it up when you're done before submitting your PR.
|
||||||
*/
|
*/
|
||||||
class FriendicaDevelopHandler extends Handler\AbstractHandler
|
class DevelopHandler extends Handler\AbstractHandler
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var string The IP of the developer who wants to debug
|
* @var string The IP of the developer who wants to debug
|
|
@ -9,7 +9,7 @@ use Monolog\Processor\ProcessorInterface;
|
||||||
/**
|
/**
|
||||||
* Injects line/file//function where the log message came from
|
* Injects line/file//function where the log message came from
|
||||||
*/
|
*/
|
||||||
class FriendicaIntrospectionProcessor implements ProcessorInterface
|
class IntrospectionProcessor implements ProcessorInterface
|
||||||
{
|
{
|
||||||
private $level;
|
private $level;
|
||||||
|
|
|
@ -24,6 +24,4 @@ Each logging implementation should pe capable of printing at least the following
|
||||||
- A log message
|
- A log message
|
||||||
- A context of the log message (f.e which user)
|
- A context of the log message (f.e which user)
|
||||||
|
|
||||||
If possible, a Logger should extend [`AbstractFriendicaLogger`](AbstractFriendicaLogger.php), because it contains additional, Friendica specific business logic for each logging call.
|
If possible, a Logger should extend [`AbstractLogger`](AbstractLogger.php), because it contains additional, Friendica specific business logic for each logging call.
|
||||||
|
|
||||||
Using AbstractFriendicaLogger makes the logger capable of adding profiling data for each log call.
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ use Psr\Log\LogLevel;
|
||||||
/**
|
/**
|
||||||
* A Logger instance for logging into a stream (file, stdout, stderr)
|
* A Logger instance for logging into a stream (file, stdout, stderr)
|
||||||
*/
|
*/
|
||||||
class StreamLogger extends AbstractFriendicaLogger
|
class StreamLogger extends AbstractLogger
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The minimum loglevel at which this logger will be triggered
|
* The minimum loglevel at which this logger will be triggered
|
||||||
|
|
|
@ -11,7 +11,7 @@ use Psr\Log\LogLevel;
|
||||||
* A Logger instance for syslogging (fast, but simple)
|
* A Logger instance for syslogging (fast, but simple)
|
||||||
* @see http://php.net/manual/en/function.syslog.php
|
* @see http://php.net/manual/en/function.syslog.php
|
||||||
*/
|
*/
|
||||||
class SyslogLogger extends AbstractFriendicaLogger
|
class SyslogLogger extends AbstractLogger
|
||||||
{
|
{
|
||||||
const IDENT = 'Friendica';
|
const IDENT = 'Friendica';
|
||||||
|
|
||||||
|
|
|
@ -124,22 +124,6 @@ class StreamLoggerTest extends MockedTest
|
||||||
$this->assertLoglineNums(5, $text);
|
$this->assertLoglineNums(5, $text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test if a file cannot get opened
|
|
||||||
* @expectedException \UnexpectedValueException
|
|
||||||
*/
|
|
||||||
public function testNoFile()
|
|
||||||
{
|
|
||||||
$logfile = vfsStream::newFile('friendica.log')
|
|
||||||
->at($this->root)
|
|
||||||
->chmod(0);
|
|
||||||
|
|
||||||
$logger = new StreamLogger('test', $logfile->url(), $this->introspection);
|
|
||||||
|
|
||||||
$logger->emergency('not working');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test when a file isn't set
|
* Test when a file isn't set
|
||||||
* @expectedException \LogicException
|
* @expectedException \LogicException
|
||||||
|
@ -153,13 +137,16 @@ class StreamLoggerTest extends MockedTest
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test when a file doesn't exist
|
* Test when a file cannot be opened
|
||||||
* @expectedException \UnexpectedValueException
|
* @expectedException \UnexpectedValueException
|
||||||
* @expectedExceptionMessageRegExp /The stream or file .* could not be opened: .* /
|
* @expectedExceptionMessageRegExp /The stream or file .* could not be opened: .* /
|
||||||
*/
|
*/
|
||||||
public function testWrongUrl()
|
public function testWrongUrl()
|
||||||
{
|
{
|
||||||
$logger = new StreamLogger('test', 'wrongfile', $this->introspection);
|
$logfile = vfsStream::newFile('friendica.log')
|
||||||
|
->at($this->root)->chmod(0);
|
||||||
|
|
||||||
|
$logger = new StreamLogger('test', $logfile->url(), $this->introspection);
|
||||||
|
|
||||||
$logger->emergency('not working');
|
$logger->emergency('not working');
|
||||||
}
|
}
|
||||||
|
@ -171,7 +158,7 @@ class StreamLoggerTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
public function testWrongDir()
|
public function testWrongDir()
|
||||||
{
|
{
|
||||||
$logger = new StreamLogger('test', 'a/wrong/directory/file.txt', $this->introspection);
|
$logger = new StreamLogger('test', '/a/wrong/directory/file.txt', $this->introspection);
|
||||||
|
|
||||||
$logger->emergency('not working');
|
$logger->emergency('not working');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue