]> git.mxchange.org Git - friendica.git/commitdiff
Syslog - Disabling
authorPhilipp Holzer <admin@philipp.info>
Wed, 27 Feb 2019 17:55:26 +0000 (18:55 +0100)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sat, 23 Mar 2019 02:55:46 +0000 (22:55 -0400)
src/Factory/LoggerFactory.php
src/Util/Logger/VoidLogger.php [new file with mode: 0644]

index 863b30e57a0746b1a44cfc5add70d86d8834789c..3658d33a5187c6aa860b50c2924e3dfdbc5b946a 100644 (file)
@@ -8,6 +8,7 @@ use Friendica\Network\HTTPException\InternalServerErrorException;
 use Friendica\Util\Logger\FriendicaDevelopHandler;
 use Friendica\Util\Logger\Introspection;
 use Friendica\Util\Logger\SyslogLogger;
+use Friendica\Util\Logger\VoidLogger;
 use Friendica\Util\Logger\WorkerLogger;
 use Friendica\Util\Profiler;
 use Monolog;
@@ -42,6 +43,10 @@ class LoggerFactory
         */
        public static function create($channel, Configuration $config)
        {
+               if (empty($config->get('system', 'debugging', false))) {
+                       return new VoidLogger();
+               }
+
                $introspector = new Introspection(LogLevel::DEBUG, self::$ignoreClassList);
                switch ($config->get('system', 'logger_adapter', 'monolog')) {
                        case 'syslog':
@@ -60,16 +65,11 @@ class LoggerFactory
                                $logger->pushProcessor(new Monolog\Processor\UidProcessor());
                                $logger->pushProcessor($introspector);
 
-                               $debugging = $config->get('system', 'debugging');
-                               $stream    = $config->get('system', 'logfile');
-                               $level     = $config->get('system', 'loglevel');
+                               $stream = $config->get('system', 'logfile');
+                               $level  = $config->get('system', 'loglevel');
 
-                               if ($debugging) {
-                                       $loglevel = self::mapLegacyConfigDebugLevel((string)$level);
-                                       static::addStreamHandler($logger, $stream, $loglevel);
-                               } else {
-                                       static::addVoidHandler($logger);
-                               }
+                               $loglevel = self::mapLegacyConfigDebugLevel((string)$level);
+                               static::addStreamHandler($logger, $stream, $loglevel);
                                break;
                }
 
diff --git a/src/Util/Logger/VoidLogger.php b/src/Util/Logger/VoidLogger.php
new file mode 100644 (file)
index 0000000..16cd10d
--- /dev/null
@@ -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;
+       }
+}