maksimru/laravel-fluent-logger

支持Stackdriver的laravel和lumen的fluent logger

4.0.2 2020-04-06 15:48 UTC

This package is auto-updated.

Last update: 2024-09-07 01:50:33 UTC


README

支持Google Stackdriver日志格式的laravel fluent logger(带有Fluentd的Monolog处理器)

fluentd

版本

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许可证的条款下分发。