seokjoon / laravel-fluent-logger
fluent logger for laravel and lumen; for monolog 2.0.0
4.0.1
2019-10-03 12:11 UTC
Requires
- php: ^7.1.3
- fluent/logger: ^1.0
- illuminate/config: ^5.6|^6.0
- illuminate/container: ^5.6|^6.0
- illuminate/contracts: ^5.6|^6.0
- illuminate/events: ^5.6|^6.0
- illuminate/log: ^5.6|^6.0
- illuminate/support: ^5.6|^6.0
- monolog/monolog: ^2.0.0
Requires (Dev)
- illuminate/filesystem: ^5.6|^6.0
- phpunit/phpunit: ^7.0
- satooshi/php-coveralls: *
This package is auto-updated.
Last update: 2024-10-29 05:47:38 UTC
README
fluent logger for laravel (with Monolog handler for Fluentd )
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.