Syslog - Disabling

This commit is contained in:
Philipp Holzer 2019-02-27 18:55:26 +01:00 committed by Hypolite Petovan
parent 305f53ca26
commit 21158e7699
2 changed files with 149 additions and 9 deletions

View file

@ -8,6 +8,7 @@ use Friendica\Network\HTTPException\InternalServerErrorException;
use Friendica\Util\Logger\FriendicaDevelopHandler; use Friendica\Util\Logger\FriendicaDevelopHandler;
use Friendica\Util\Logger\Introspection; use Friendica\Util\Logger\Introspection;
use Friendica\Util\Logger\SyslogLogger; use Friendica\Util\Logger\SyslogLogger;
use Friendica\Util\Logger\VoidLogger;
use Friendica\Util\Logger\WorkerLogger; use Friendica\Util\Logger\WorkerLogger;
use Friendica\Util\Profiler; use Friendica\Util\Profiler;
use Monolog; use Monolog;
@ -42,6 +43,10 @@ class LoggerFactory
*/ */
public static function create($channel, Configuration $config) public static function create($channel, Configuration $config)
{ {
if (empty($config->get('system', 'debugging', false))) {
return new VoidLogger();
}
$introspector = new Introspection(LogLevel::DEBUG, self::$ignoreClassList); $introspector = new Introspection(LogLevel::DEBUG, self::$ignoreClassList);
switch ($config->get('system', 'logger_adapter', 'monolog')) { switch ($config->get('system', 'logger_adapter', 'monolog')) {
case 'syslog': case 'syslog':
@ -60,16 +65,11 @@ class LoggerFactory
$logger->pushProcessor(new Monolog\Processor\UidProcessor()); $logger->pushProcessor(new Monolog\Processor\UidProcessor());
$logger->pushProcessor($introspector); $logger->pushProcessor($introspector);
$debugging = $config->get('system', 'debugging');
$stream = $config->get('system', 'logfile'); $stream = $config->get('system', 'logfile');
$level = $config->get('system', 'loglevel'); $level = $config->get('system', 'loglevel');
if ($debugging) {
$loglevel = self::mapLegacyConfigDebugLevel((string)$level); $loglevel = self::mapLegacyConfigDebugLevel((string)$level);
static::addStreamHandler($logger, $stream, $loglevel); static::addStreamHandler($logger, $stream, $loglevel);
} else {
static::addVoidHandler($logger);
}
break; break;
} }

View file

@ -0,0 +1,140 @@
<?php
namespace Friendica\Util\Logger;
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;
}
}