65 $this->rootLogger = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(Logger::class,
'',
$requestId);
94 $separators = [
'_',
'\\'];
95 $name = str_replace($separators,
'.', $name);
96 if (isset($this->loggers[$name])) {
97 $logger = $this->loggers[$name];
101 $logger = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(Logger::class, $name, $this->requestId);
102 $this->loggers[$name] = $logger;
116 $this->loggers[$name] =
null;
126 return array_keys($this->loggers);
137 foreach ($configuration as $severityLevel => $writer) {
138 foreach ($writer as $logWriterClassName => $logWriterOptions) {
139 if ($logWriterOptions[
'disabled'] ??
false) {
142 unset($logWriterOptions[
'disabled']);
145 $logWriter = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance($logWriterClassName, $logWriterOptions);
146 $logger->addWriter($severityLevel, $logWriter);
147 }
catch (\Psr\Log\InvalidArgumentException $e) {
148 $logger->warning(
'Instantiation of LogWriter "' . $logWriterClassName .
'" failed for logger ' . $logger->getName() .
' (' . $e->getMessage() .
')');
149 }
catch (\
TYPO3\CMS\Core\Log\Exception\InvalidLogWriterConfigurationException $e) {
150 $logger->warning(
'Instantiation of LogWriter "' . $logWriterClassName .
'" failed for logger ' . $logger->getName() .
' (' . $e->getMessage() .
')');
164 foreach ($configuration as $severityLevel => $processor) {
165 foreach ($processor as $logProcessorClassName => $logProcessorOptions) {
168 $logProcessor = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance($logProcessorClassName, $logProcessorOptions);
169 $logger->addProcessor($severityLevel, $logProcessor);
170 }
catch (\Psr\Log\InvalidArgumentException $e) {
171 $logger->warning(
'Instantiation of LogProcessor "' . $logProcessorClassName .
'" failed for logger ' . $logger->getName() .
' (' . $e->getMessage() .
')');
172 }
catch (\
TYPO3\CMS\Core\Log\Exception\InvalidLogProcessorConfigurationException $e) {
173 $logger->warning(
'Instantiation of LogProcessor "' . $logProcessorClassName .
'" failed for logger ' . $logger->getName() .
' (' . $e->getMessage() .
')');
191 $explodedName = explode(
'.', $loggerName);
194 $configurationKey = $configurationType .
'Configuration';
195 $configuration =
$GLOBALS[
'TYPO3_CONF_VARS'][
'LOG'];
196 $result = $configuration[$configurationKey] ?? [];
199 foreach ($explodedName as $partOfClassName) {
200 if (!isset($configuration[$partOfClassName])) {
203 if (!empty($configuration[$partOfClassName][$configurationKey])) {
204 $result = $configuration[$partOfClassName][$configurationKey];
206 $configuration = $configuration[$partOfClassName];
209 foreach ($result as $level => $unused) {
212 }
catch (\Psr\Log\InvalidArgumentException $e) {
213 throw new \Psr\Log\InvalidArgumentException(
'The given severity level "' . htmlspecialchars($level) .
'" for ' . $configurationKey .
' of logger "' . $loggerName .
'" is not valid.', 1326406447);