diff --git a/src/Factory/LoggerFactory.php b/src/Factory/LoggerFactory.php
index 863b30e57..3658d33a5 100644
--- a/src/Factory/LoggerFactory.php
+++ b/src/Factory/LoggerFactory.php
@@ -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
index 000000000..16cd10da0
--- /dev/null
+++ b/src/Util/Logger/VoidLogger.php
@@ -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;
+	}
+}