diff --git a/typo3/sysext/core/Classes/Resource/ResourceStorage.php b/typo3/sysext/core/Classes/Resource/ResourceStorage.php index 9f027a3aaa80f9a91d3d9f52627116d69a551114..7f33867c4febafc3cc98b8d416f4bab636962e81 100644 --- a/typo3/sysext/core/Classes/Resource/ResourceStorage.php +++ b/typo3/sysext/core/Classes/Resource/ResourceStorage.php @@ -180,9 +180,17 @@ class ResourceStorage implements ResourceStorageInterface try { $this->driver->processConfiguration(); } catch (Exception\InvalidConfigurationException $e) { - // configuration error - // mark this storage as permanently unusable - $this->markAsPermanentlyOffline(); + // Configuration error + $this->isOnline = false; + + $message = sprintf( + 'Failed initializing storage [%d] "%s", error: %s', + $this->getUid(), + $this->getName(), + $e->getMessage() + ); + + $this->getLogger()->error($message); } $this->driver->initialize(); $this->capabilities = $this->driver->getCapabilities(); @@ -3012,4 +3020,26 @@ class ResourceStorage implements ResourceStorageInterface { return $this->isDefault; } + + /** + * Returns the current BE user. + * + * @return \TYPO3\CMS\Core\Authentication\BackendUserAuthentication + */ + protected function getBackendUser() + { + return $GLOBALS['BE_USER']; + } + + /** + * @return \TYPO3\CMS\Core\Log\Logger + */ + protected function getLogger() + { + /** @var $logManager \TYPO3\CMS\Core\Log\LogManager */ + $logManager = GeneralUtility::makeInstance( + \TYPO3\CMS\Core\Log\LogManager::class + ); + return $logManager->getLogger(get_class($this)); + } } diff --git a/typo3/sysext/core/Configuration/DefaultConfiguration.php b/typo3/sysext/core/Configuration/DefaultConfiguration.php index 7c78a927dfb74dd2938a69ddc194271e28b1fee4..cca1c0f232dce84a1884730aa10a0d4ebd71b4b3 100644 --- a/typo3/sysext/core/Configuration/DefaultConfiguration.php +++ b/typo3/sysext/core/Configuration/DefaultConfiguration.php @@ -1159,6 +1159,21 @@ return [ \TYPO3\CMS\Core\Log\LogLevel::WARNING => [ \TYPO3\CMS\Core\Log\Writer\FileWriter::class => [] ] + ], + 'TYPO3' => [ + 'CMS' => [ + 'Core' => [ + 'Resource' => [ + 'ResourceStorage' => [ + 'writerConfiguration' => [ + \TYPO3\CMS\Core\Log\LogLevel::ERROR => [ + \TYPO3\CMS\Core\Log\Writer\DatabaseWriter::class => [] + ] + ] + ] + ] + ] + ] ] ], 'USER' => [],