Merge pull request #47521 from nextcloud/fix/noid/loosing-systemconfig-on-setup

fix(logger): ignore session logging during setup
pull/47551/head
Maxence Lange 2024-08-27 18:10:16 +07:00 committed by GitHub
commit e68f77ea6c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 4 deletions

@ -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);

@ -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",
[