maksimru / laravel-fluent-logger
支持Stackdriver的laravel和lumen的fluent logger
4.0.2
2020-04-06 15:48 UTC
Requires
- php: >=7
- fluent/logger: ~1.0
- illuminate/config: ~5.6
- illuminate/container: ~5.6
- illuminate/contracts: ~5.6
- illuminate/log: ~5.6
- illuminate/support: ~5.6
Requires (Dev)
README
支持Google Stackdriver日志格式的laravel fluent logger(带有Fluentd的Monolog处理器)
版本
Laravel 5.3 ~1.0
Laravel 5.4 ~2.0
Laravel 5.5 ~3.0
Laravel 5.6 ~4.0
Laravel和Lumen的安装
使用Composer安装此包
$ composer require maksimru/laravel-fluent-logger
或composer.json
"require": { "maksimru/laravel-fluent-logger": "~2.0" },
laravel的配置
你的config/app.php
'providers' => [ \Ytake\LaravelFluent\LogServiceProvider::class, ]
发布配置
- 基本
$ php artisan vendor:publish
- 使用标签选项
$ php artisan vendor:publish --tag=log
- 使用提供者
$ php artisan vendor:publish --provider="Ytake\LaravelFluent\LogServiceProvider"
所有日志都发送到fluentd
将fluent驱动添加到config/logging.php中
'fluent' => [ 'driver' => 'fluent', ],
编辑.env以更新LOG_CHANNEL。
LOG_CHANNEL=fluent
fluentd配置示例
## match tag=local.** (for laravel log develop)
<match local.**>
type stdout
</match>
示例(生产环境)
<match production.**>
type stdout
</match>
更多
包优化(生产环境可选)
需要config/compile.php
'providers' => [ // \Ytake\LaravelFluent\LogServiceProvider::class, ],
lumen的扩展
扩展\laravel\Lumen\Application并重写getMonologHandler()方法来自定义日志配置。
示例
<?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配置示例(lumen)
<match lumen.**>
type stdout
</match>
原作者
许可证
laravel-fluent-logger的代码在MIT许可证的条款下分发。