Package for store logs with RabbitMQ

1.2.1 2018-06-22 11:50 UTC

This package is not auto-updated.

Last update: 2020-03-20 18:44:39 UTC




RabbitLogger is open-sourced software licensed under the MIT license

Official Documentation

To get started use Composer to add the package to your project's dependencies:

composer require kasan/logger-package


After installing the library, register the kashirin\rabbit_mq\RabbitLoggerServiceProvider in your config/app.php configuration file:

'providers' => [
    // Other service providers...


You will also need to add credentials in your config/services.php configuration file. For example:

'rabbit_log' => [
    'host' => 'your-rabbit-host',  //required
    'port' => 'your-rabbit-port', //required
    'user' => 'your-rabbit-user-name', //required
    'password' => 'your-rabbit-user-password',  //required
    'facility' => 'project-path-from-github', //required
    'queue' => 'your-rabbit-queue', //required
    'second_queue' => 'your-rabbit-queue',
    'exchange' => 'your-rabbit-exchange',
    'exchange_type' => 'your-rabbit-exchange-type',
    'key' => 'your-rabbit-key',
    'vhost' => 'your-rabbit-vhost'

To handle all application errors, you need to add to the file app/Exceptions/Handler.php these lines in the method :

use kashirin\rabbit_mq\Log;
public function render($request, Exception $exception)
        //init and configure logger
        $config = config('services.rabbit_log');
        $logger =  new Log($config);
        return parent::render($request, $exception);

To handle all application requests and responses, you need to add to the file app/Http/Kernel.php this line. Recommended use its in block HTTP middlewares, but you can use it in any block.

protected $middleware = [
        // Other app middlewares...

Basic Usage

In any place of application you can use Logger with type of methods from PSR-3 standard

use Illuminate\Http\Request;
use kashirin\rabbit_mq\Log;
 * Class IndexController
 * @package App\Http\Controllers
class IndexController extends Controller
     * @param Request $request
     * @param Log $log
     * @return array
     * @throws \AMQPChannelException
     * @throws \AMQPConnectionException
     * @throws \AMQPExchangeException
    public function index(Request $request, Log $log)
       $response = [];
       //some logic
       //simply message log
       $log->info('message to log');
       try {
           $data = 'some logic';
       } catch (Exception $exception) {
           //log any Throwable error or exception
       //this type of logs except to use Response and Request objects from Laravel. Used in middleware.
       $log->log($response, $request);
       //log any JsonSerializable data
       return $response;