Professional support is available, please contact [email protected] for more information.
There are two possible ways to use this extension.
- Use the JsonWriter to convert all logs to JSON before writing them to the log file.
This way, you can process the logs with a different loki client like Promtail
$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'] = [
// Log handling configuration for ERROR logs
// Set this to DEBUG to process all logs.
\TYPO3\CMS\Core\Log\LogLevel::ERROR => [
// Convert all logs to JSON to scrape them with loki clients like Promtail
\Jops\TYPO3\Loki\Log\Writers\JsonWriter::class => [],
],
];
- Use the LokiWriter to send logs directly to a configured loki instance.
You can define labels here, that will be attached to the log line sent to loki.
See: Configure a Loki instance
$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'] = [
// Log handling configuration for ERROR logs
// Set this to DEBUG to process all logs.
\TYPO3\CMS\Core\Log\LogLevel::ERROR => [
// Configure LokiWrite to send logs to Loki
\Jops\TYPO3\Loki\Log\Writers\LokiWriter::class => [
"labels" => [
"key" => "value",
],
],
],
];
If you want to use the LokiWriter, you need to have a loki instance configured. This can be done with the Extension
Configuration in the backend or in the AdditionalConfiguration.php
.
If your Loki installation is secured with http basic auth, you can provide those credentials here as well. Keep in mind
that the credentials are store as plain text in the configuration file.
This could be an example configuration:
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['loki'] = [
"base-url" => "https://loki.example.com",
// Optional: Add basic-auth credentials if needed
"basic-auth" => [
"username" => "username",
"password" => "secure-password",
],
];
The extension is only officially available and released for TYPO3 11.
If you need it in an older project, you can find a version that is compatible with TYPO3 9 and 10 in the typo3-9-10-compatability
branch.
Use dev-typo3-9-10-compatability
as the version in composer.
We use DDEV for local development.
You get a complete ddev setup in this repository, just run ddev start
.
This project is licensed under GPL-2.0-or-later, see the LICENSE file for more information.