lukam / logging-tap

为 Laravel 5.0 - 5.3 添加日志提取功能

1.0.0 2019-03-18 16:04 UTC

This package is auto-updated.

Last update: 2024-09-19 10:00:25 UTC


README

为 Laravel 5.0 到 5.3 版本添加 日志提取功能

安装

使用 Composer 安装此包。

composer require lukam/logging-tap

打开 config/app.php 文件,并将服务提供者添加到现有的 providers 数组中。

'providers' => [	
	LoggingTap\LogServiceProvider::class
]

使用

使用 artisan 的 make:tap 命令创建一个新的日志提取。这将在 App\Logging 文件夹内创建一个新的提取文件。

php artisan make:tap ExampleTap

打开 config/app.php 文件,滚动到 "Logging Configuration" 部分,并添加一个 log_tap 数组条目。将您的日志提取类添加到这个数组中。数组中的任何类都将自定义创建的 Monolog 实例。

'log_tap' => [App\Taps\ExampleTap::class],

有关如何使用日志提取的更多信息,请参阅 Laravel 的 日志文档

示例

创建一个日志提取以将处理器推送到 Monolog 实例

<?php

namespace App\Logging;
use Monolog\Processor\UidProcessor;

class PushProcessor
{
    public function __invoke($logger, $arguments)
    {
        $logger->getMonolog()->pushProcessor(new UidProcessor);
    }
}

设置 Monolog 实例的格式化器

<?php

namespace App\Logging;

use Monolog\Formatter\LineFormatter;

class Formatter
{
    public function __invoke($logger, $arguments)
    {
        $format = "[%datetime%] - [%level_name%]: %message% %context% %extra%\n";
        $formatter = new LineFormatter($format, null, true, true);

        foreach ($logger->getHandlers() as $handler) {
            $handler->setFormatter($formatter);
        }
    }

测试

phpunit

许可

MIT 许可证 (MIT)。有关更多信息,请参阅许可文件。