Grafana Loki integration for TYPO3
Installs: 1 125
Open Issues: 5
- php: ^7.4 || ^8.0
- ext-json: *
- typo3/cms-core: ^11.5
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.0
- saschaegerer/phpstan-typo3: ^1.0
- squizlabs/php_codesniffer: ^3.6
- ssch/typo3-rector: ^1.0
- typo3/minimal: ^v11.5.0
Monitor logging output of your TYPO3 installation
Professional support is available, please contact firstname.lastname@example.org 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", ], ], ], ];
Configure a Loki instance.
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
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", ], ];
Supported TYPO3 Versions
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
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
This project is licensed under GPL-2.0-or-later, see the LICENSE file for more information.