diff options
-rw-r--r-- | lib/base.php | 7 | ||||
-rw-r--r-- | lib/private/Session/Internal.php | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/lib/base.php b/lib/base.php index 6491c191d25..d0d030faf55 100644 --- a/lib/base.php +++ b/lib/base.php @@ -387,10 +387,15 @@ class OC { $sessionName = OC_Util::getInstanceId(); try { + $logger = null; + if (Server::get(\OC\SystemConfig::class)->getValue('installed', false)) { + $logger = logger('core'); + } + // set the session name to the instance id - which is unique $session = new \OC\Session\Internal( $sessionName, - logger('core'), + $logger, ); $cryptoWrapper = Server::get(\OC\Session\CryptoWrapper::class); diff --git a/lib/private/Session/Internal.php b/lib/private/Session/Internal.php index 5398dc710af..b465bcd3eda 100644 --- a/lib/private/Session/Internal.php +++ b/lib/private/Session/Internal.php @@ -29,8 +29,10 @@ class Internal extends Session { * @param string $name * @throws \Exception */ - public function __construct(string $name, - private LoggerInterface $logger) { + public function __construct( + string $name, + private ?LoggerInterface $logger, + ) { set_error_handler([$this, 'trapError']); $this->invoke('session_name', [$name]); $this->invoke('session_cache_limiter', ['']); @@ -204,7 +206,7 @@ class Internal extends Session { $timeSpent > 0.5 => ILogger::INFO, default => ILogger::DEBUG, }; - $this->logger->log( + $this->logger?->log( $logLevel, "Slow session operation $functionName detected", [ |