maksimru / Laravel-FluentLogger by maksimru
forked from ytake/Laravel-FluentLogger

fluent logger for laravel and lumen with stackdriver support
7,240
0
2
Package Data
Maintainer Username: maksimru
Maintainer Contact: maxmtmn@gmail.com (Maksim Martianov)
Package Create Date: 2017-05-08
Package Last Update: 2020-04-06
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-11-23 03:02:51
Package Statistics
Total Downloads: 7,240
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 0
Total Watchers: 2
Total Forks: 1
Total Open Issues: 0

laravel-fluent-logger

fluent logger for laravel with support of google stackdriver logger format (with Monolog handler for Fluentd )

fluentd

Versions

Laravel 5.3 ~1.0

Laravel 5.4 ~2.0

Laravel 5.5 ~3.0

Laravel 5.6 ~4.0

Installation For Laravel and Lumen

Require this package with Composer

$ composer require maksimru/laravel-fluent-logger

or composer.json

"require": {
  "maksimru/laravel-fluent-logger": "~2.0"
},

for laravel

your config/app.php

'providers' => [
    \Ytake\LaravelFluent\LogServiceProvider::class,
]

publish configure

  • basic
$ php artisan vendor:publish
  • use tag option
$ php artisan vendor:publish --tag=log
  • use provider
$ php artisan vendor:publish --provider="Ytake\LaravelFluent\LogServiceProvider"

All logs to fluentd

add fluent driver to config/logging.php

'fluent' => [
    'driver' => 'fluent',
],

Edit .env to update LOG_CHANNEL.

LOG_CHANNEL=fluent

fluentd config sample

## match tag=local.** (for laravel log develop)
<match local.**>
  type stdout
</match>

example (production)

<match production.**>
 type stdout
</match>

and more

Package Optimize (Optional for production)

required config/compile.php

'providers' => [
    //
    \Ytake\LaravelFluent\LogServiceProvider::class,
],

for lumen

Extend \Laravel\Lumen\Application and override the getMonologHandler() method to set up your own logging config.

example

<?php

namespace App\Foundation;

use Monolog\Logger;
use Fluent\Logger\FluentLogger;
use Ytake\LaravelFluent\FluentHandler;

class Application extends \Laravel\Lumen\Application
{
    /**
     * @return FluentHandler
     */
    protected function getMonologHandler()
    {
        return new FluentHandler(
            new FluentLogger(env('FLUENTD_HOST', '127.0.0.1'), env('FLUENTD_PORT', 24224), []),
            Logger::DEBUG
        );
    }
}

fluentd config sample(lumen)

<match lumen.**>
  type stdout
</match>

Original Author

License

The code for laravel-fluent-logger is distributed under the terms of the MIT license.