Quickstart
Instantiate a logger for the current class
Constructor injection can be used to automatically instantiate the logger:
Log
Log a simple message (in this example with the log level "warning"):
$this->logger->warning('Something went awry, check your configuration!');
Provide additional context information with the log message (in this example with the log level "error"):
$this->logger->error('Passing {value} was unwise.', [
'value' => $value,
'other_data' => $foo,
]);
Values in the message string that should vary based on the error (such as
specifying an invalid value) should use placeholders, denoted by
{ }
. Provide the value for that placeholder in the context array.
$this->logger->warning
etc. are only shorthands - you can also call
$this->logger->log
directly and pass the severity level:
// use Psr\Log\LogLevel;
$this->logger->log(LogLevel::CRITICAL, 'This is an utter failure!');
Set logging output
TYPO3 has the FileWriter enabled by default
for warnings (Log
) and higher severity, so all matching log
entries are written to a file.
If the filename is not set, then the file will contain a hash like
var/
, for example
var/
.
typo3temp/
, for example
typo3temp/
.
A sample output looks like this:
Fri, 19 Jul 2023 09:45:00 +0100 [WARNING] request="5139a50bee3a1" component="TYPO3.Examples.Controller.DefaultController": Something went awry, check your configuration!
Fri, 19 Jul 2023 09:45:00 +0100 [ERROR] request="5139a50bee3a1" component="TYPO3.Examples.Controller.DefaultController": Passing someValue was unwise. - {"value":"someValue","other_data":{}}
Fri, 19 Jul 2023 09:45:00 +0100 [CRITICAL] request="5139a50bee3a1" component="TYPO3.Examples.Controller.DefaultController": This is an utter failure!