Skip to content

Instantly share code, notes, and snippets.

@jay-johnson
Last active June 28, 2017 21:53
Show Gist options
  • Save jay-johnson/1f570fdd27d6b016260bed39f2fa3c41 to your computer and use it in GitHub Desktop.
Save jay-johnson/1f570fdd27d6b016260bed39f2fa3c41 to your computer and use it in GitHub Desktop.
Laravel - Logstash with Monolog

Add this to: bootstrap/app.php

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$app->configureMonologUsing(function ($monolog) {
    $parameters = array(
        'host'     => '10.0.0.130',
        'port'     => 6379,
        'database' => 4
    );
    $logstash_key = "_LG_PR_SRC";
    $redisHandler = new Monolog\Handler\RedisHandler(new Predis\Client($parameters), $logstash_key);
    $formatter = new Monolog\Formatter\LogstashFormatter('php');
    $redisHandler->setFormatter($formatter);

    // Create a Logger instance with the RedisHandler
    $logger = new Logger('logstash_test', array($redisHandler));

    // Now you can start logging
    $logger->info("Logstash with PHP works\n");

    $handlers = [
        $redisHandler,
    ];
    $monolog->setHandlers($handlers);
    return $monolog;
});

Test it works in: app/Providers/AppServiceProvider.php

  1. Add this line:
use Illuminate\Support\Facades\Log;
  1. Add a Log line to the boot method
public function boot()
{
    //
    Log::info("Test Laravel with Redis + Logstash works");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment