fluent logger for laravel (with Monolog handler for Fluentd)
PHP
Clone or download
Latest commit 192ad01 Jul 18, 2018
Permalink
Failed to load latest commit information.
src refactor & fixed Jul 17, 2018
tests refactor & fixed Jul 17, 2018
.coveralls.yml added Nov 7, 2015
.gitignore added configure Nov 7, 2015
.scrutinizer.yml ci fixed Nov 7, 2015
.styleci.yml added Nov 7, 2015
.travis.yml supported Laravel5.6 Feb 17, 2018
LICENSE supported Laravel5.6 Feb 17, 2018
README.md updated doc Feb 18, 2018
composer.json supported Laravel5.6 Feb 17, 2018
nitpick.json for cs Dec 14, 2017
phpunit.xml refactor & fixed Jul 17, 2018

README.md

laravel-fluent-logger

fluent logger for laravel (with Monolog handler for Fluentd )

fluentd

Build Status Coverage Status Dependency Status Scrutinizer Code Quality

License Latest Version Total Downloads StyleCI

SensioLabsInsight

usage

Installation For Laravel

Require this package with Composer

$ composer require ytake/laravel-fluent-logger

or composer.json

"require": {
  "ytake/laravel-fluent-logger": "^3.0"
},

Supported Auto-Discovery(^Laravel5.5)

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"

for Lumen

use Ytake\LaravelFluent\LumenLogServiceProvider

bootstrap/app.php

$app->register(\Ytake\LaravelFluent\LumenLogServiceProvider::class);

Lumen will use your copy of the configuration file if you copy and paste one of the files into a config directory within your project root.

cp vendor/ytake/laravel-fluent-logger/src/config/fluent.php config/

Config

edit config/fluent.php

return [

    'host' => env('FLUENTD_HOST', '127.0.0.1'),

    'port' => env('FLUENTD_PORT', 24224),

    /** @see https://github.com/fluent/fluent-logger-php/blob/master/src/FluentLogger.php */
    'options' => [],

    /** @see https://github.com/fluent/fluent-logger-php/blob/master/src/PackerInterface.php */
    // specified class name
    'packer' => null,

    'tagFormat' => '{{channel}}.{{level_name}}',
];

added config/logging.php

return [
    'channels' => [
        'stack' => [
            'driver' => 'stack',
            // always added fluentd log handler
            // 'channels' => ['single', 'fluent'],
            // fluentd only
            'channels' => ['fluent'],
        ],

        'fluent' => [
            'driver' => 'fluent',
            'level' => 'debug',
        ],
        
        'single' => [
            'driver' => 'single',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
        ],

        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 7,
        ],

        'slack' => [
            'driver' => 'slack',
            'url' => env('LOG_SLACK_WEBHOOK_URL'),
            'username' => 'Laravel Log',
            'emoji' => ':boom:',
            'level' => 'critical',
        ],

        'syslog' => [
            'driver' => 'syslog',
            'level' => 'debug',
        ],

        'errorlog' => [
            'driver' => 'errorlog',
            'level' => 'debug',
        ],
    ],
];

or custom / use via

return [
    'channels' => [
        'custom' => [
            'driver' => 'custom',
            'via' => \Ytake\LaravelFluent\FluentLogManager::class,
        ],
    ]
];

fluentd config sample

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

example (production)

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

and more

for lumen

fluentd config sample(lumen)

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

Author

License

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