Logging to Loki for Laravel
Fork https://github.com/rdemorais/laravel-loki-logging
- Install this package:
composer require elgibor-solution/laravel-loki-logging
- Publish the configuration:
php artisan vendor:publish --provider=ESolution\\LaravelLokiLogging\\L3ServiceProvider
- Create a new log channel in
config/logging.php
:'loki' => [ 'driver' => 'monolog', 'handler' => L3Logger::class, ]
- Configure at least the
LOG_CHANNEL
,LOG_USERNAME
andLOG_PASSWORD
- Ensure
APP_NAME
is configured appropriately. If this value cannot be changed, useLOG_APP
. - Optionally configure
LOG_SERVER
andLOG_FORMAT
- Ensure
- Configure the
loki:persist
job to run periodically in your schedule. We recommend every minute, but feel free to reduce this. Log::info('Hello Loki!');
The behaviour of the logger can be adjusted with the config options below.
Key | Description | Default |
---|---|---|
context |
Extra variables to be added as labels to the message. Variable substitutions are available. | application : env('LOG_APPLICATION') type : '{level_name}' |
format |
How log messages should be formatted. Variable substitutions are available. | [{level_name}] {message} |
loki.server |
The loki server to which data should be logged. | https://<url>/loki |
loki.username |
Username for HTTP basic authentication, can be left empty. | Env-variable LOG_USERNAME |
loki.password |
Password for HTTP basic authentication, can be left empty. | Env-variable LOG_PASSWORD |