TYPO3 Log Datei erweitern um Debugging zu erleichtern
Um herauszufinden unter welchen Umständen manche Fehler in der TYPO3 Log landen, hilft es den GET Request mit zu loggen. Hierfür benötigt es eine PHP Klasse und eine Einstellung in der settings.php . Die Klasse ist ab ws_t3bootstrap 13.11.12 verfügbar, kann jedoch natürlich einfach selbst ins eigene Template eingebaut werden.
Zunächst die PHP Klasse anlegen:
<?php
namespace WapplerSystems\WsT3bootstrap\Log;
use TYPO3\CMS\Core\Log\LogRecord;
use TYPO3\CMS\Core\Log\Processor\ProcessorInterface;
class RequestUriProcessor implements ProcessorInterface
{
public function processLogRecord(LogRecord $logRecord): LogRecord
{
$uri = $_SERVER['REQUEST_URI'] ?? 'N/A';
$logRecord->addData(['requestUri' => $uri]);
return $logRecord;
}
}
Nun die Klasse als Processor registrieren.
'LOG' => [
'TYPO3' => [
....
],
'processorConfiguration' => [
'notice' => [
\WapplerSystems\WsT3bootstrap\Log\RequestUriProcessor::class => []
]
]
],
Hier ein Beispiel für die typo3 log Ausgabe in der /var/log/typo3_xxxxx.log
Fri, 04 Jul 2025 22:24:34 +0200 [ERROR] request="1618d7c7e2301" component="TYPO3.CMS.Core.TypoScript.IncludeTree.Visitor.IncludeTreeConditionMatcherVisitor": TypoScript condition ["{$navigation.mobile.menuType}" == "mmenu" && {$navigation.mobile.useAjax} == 0] could not be parsed: Unexpected character "$" around position 47 for expression `"{$navigation.mobile.menuType}" == "mmenu" && {$navigation.mobile.useAjax} == 0`.- SyntaxError: Unexpected character "$" around position 47 for expression `"{$navigation.mobile.menuType}" == "mmenu" && {$navigation.mobile.useAjax} == 0`., in file /var/www/html/vendor/symfony/expression-language/Lexer.php:97 ..... ","requestUri":"/de/elemente/content"}
Die Request Uri steht hier am Ende nun.