Skip to content

betterde/logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel log driver for elasticsearch

Installation

$ composer require betterde/logger
$ php artisan vendor:publish --tag=betterde.logger

Config

You can modify config in config/logger.php.

Now we can add the channel of channels in config/logging.php file.

use Betterde\Logger\ElasticsearchLogger;

'channels' => [
    'elastic' => [
        'driver' => 'custom',
        'via' => ElasticsearchLogger::class,
    ],
],

Add the \Betterde\Logger\Http\Middleware\BulkCollectionLog middleware to App\Http\Kernel.php file.

/**
 * The application's global HTTP middleware stack.
 *
 * These middleware are run during every request to your application.
 *
 * @var array
 */
protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \App\Http\Middleware\TrustProxies::class,
    \Betterde\Logger\Http\Middleware\BulkCollectionLog::class
];

Now define the environment variable in .env file like this:

LOG_CHANNEL=elastic
ELASTICSEARCH_HOST=localhost
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_SCHEME=http
ELASTICSEARCH_USER=
ELASTICSEARCH_PASS=

Finally, I hope this is helpful.

Sponsors

jetbrains