diff options
Diffstat (limited to 'lib/private/Log.php')
-rw-r--r-- | lib/private/Log.php | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/lib/private/Log.php b/lib/private/Log.php index 4ab647bc6c1..2ee5bfc9c5a 100644 --- a/lib/private/Log.php +++ b/lib/private/Log.php @@ -59,21 +59,11 @@ use function strtr; * MonoLog is an example implementing this interface. */ class Log implements ILogger, IDataLogger { - - /** @var IWriter */ - private $logger; - - /** @var SystemConfig */ - private $config; - - /** @var boolean|null cache the result of the log condition check for the request */ - private $logConditionSatisfied = null; - - /** @var Normalizer */ - private $normalizer; - - /** @var IRegistry */ - private $crashReporters; + private IWriter $logger; + private ?SystemConfig $config; + private ?bool $logConditionSatisfied = null; + private ?Normalizer $normalizer; + private ?IRegistry $crashReporters; /** * @param IWriter $logger The logger that should be used @@ -81,7 +71,7 @@ class Log implements ILogger, IDataLogger { * @param Normalizer|null $normalizer * @param IRegistry|null $registry */ - public function __construct(IWriter $logger, SystemConfig $config = null, $normalizer = null, IRegistry $registry = null) { + public function __construct(IWriter $logger, SystemConfig $config = null, Normalizer $normalizer = null, IRegistry $registry = null) { // FIXME: Add this for backwards compatibility, should be fixed at some point probably if ($config === null) { $config = \OC::$server->getSystemConfig(); @@ -312,6 +302,11 @@ class Log implements ILogger, IDataLogger { $app = $context['app'] ?? 'no app in context'; $level = $context['level'] ?? ILogger::ERROR; + $minLevel = $this->getLogLevel($context); + if ($level < $minLevel && ($this->crashReporters === null || !$this->crashReporters->hasReporters())) { + return; + } + // if an error is raised before the autoloader is properly setup, we can't serialize exceptions try { $serializer = $this->getSerializer(); @@ -325,7 +320,6 @@ class Log implements ILogger, IDataLogger { $data = array_merge($serializer->serializeException($exception), $data); $data = $this->interpolateMessage($data, $context['message'] ?? '--', 'CustomMessage'); - $minLevel = $this->getLogLevel($context); array_walk($context, [$this->normalizer, 'format']); |