From c339dc1a079ba249ebdb2983bf7b3cad4de06b56 Mon Sep 17 00:00:00 2001 From: Art4 Date: Fri, 10 Jan 2025 15:15:58 +0000 Subject: [PATCH] Add support for LogLevel and LogChannel --- src/Core/Logger/Factory/LoggerFactory.php | 26 +++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/Core/Logger/Factory/LoggerFactory.php b/src/Core/Logger/Factory/LoggerFactory.php index 37830c32e1..5742fdd5b5 100644 --- a/src/Core/Logger/Factory/LoggerFactory.php +++ b/src/Core/Logger/Factory/LoggerFactory.php @@ -10,9 +10,11 @@ declare(strict_types=1); namespace Friendica\Core\Logger\Factory; use Friendica\Core\Config\Capability\IManageConfigValues; +use Friendica\Core\Logger\Capability\LogChannel; use Friendica\Core\Logger\Type\ProfilerLogger; use Friendica\Util\Profiler; use Psr\Log\LoggerInterface; +use Psr\Log\LogLevel; use Psr\Log\NullLogger; /** @@ -24,6 +26,10 @@ final class LoggerFactory private bool $debug; + private string $logLevel; + + private string $logChannel; + private bool $profiling; private LoggerInterface $logger; @@ -32,8 +38,10 @@ final class LoggerFactory { $this->config = $config; - $this->debug = (bool) $config->get('system', 'debugging') ?? false; - $this->profiling = (bool) $config->get('system', 'profiling') ?? false; + $this->debug = (bool) $config->get('system', 'debugging') ?? false; + $this->logLevel = (string) $config->get('system', 'loglevel') ?? LogLevel::NOTICE; + $this->logChannel = LogChannel::DEFAULT; + $this->profiling = (bool) $config->get('system', 'profiling') ?? false; } public function create(): LoggerInterface @@ -47,7 +55,12 @@ final class LoggerFactory private function createProfiledLogger(): LoggerInterface { - $logger = $this->createLogger(); + // Always return NullLogger if debug is disabled + if ($this->debug === false) { + $logger = new NullLogger(); + } else { + $logger = $this->createLogger($this->logLevel, $this->logChannel); + } if ($this->profiling === true) { $profiler = new Profiler($this->config); @@ -58,13 +71,8 @@ final class LoggerFactory return $logger; } - private function createLogger(): LoggerInterface + private function createLogger(string $logLevel, string $logChannel): LoggerInterface { - // Always return NullLogger if debug is disabled - if ($this->debug === false) { - return new NullLogger(); - } - return new NullLogger(); } }