rebing/timber-laravel

Laravel包,用于与Timber (timber.io) 日志API进行通信

v1.3.3 2020-11-17 08:07 UTC

README

Latest Version on Packagist Total Downloads Build Status

A Laravel 5+ wrapper for the Timber Logger service. Use it to log HTTP requests or custom events to Timber.

安装

1. 使用Composer要求此包

$ composer require rebing/timber-laravel

2. Laravel 5.5+将自动发现此包,对于较旧版本,请将以下服务提供者和别名添加到您的config/app.php文件中。

Rebing\Timber\TimberServiceProvider::class,

和别名

'Timber' => 'Rebing\Timber\Support\Facades\Timber',

在您的config/app.php文件中。

3. 发布配置文件

$ php artisan vendor:publish --provider="Rebing\Timber\TimberServiceProvider"

4. 查看配置文件

config/timber.php

并将您的Timber API密钥添加到.env

5. (可选)记录传入请求

检查HTTP请求

6. (可选)记录所有消息

检查记录所有消息

用法

HTTP请求

要记录HTTP请求,请使用Rebing\Timber\Middleware\LogRequest::class中间件。这将记录所有传入请求和响应,包括上下文和Auth数据。

例如,您可以将其添加到Kernel.php

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     */
    protected $middleware = [
        Rebing\Timber\Middleware\LogRequest::class,
    ];
}

记录所有消息

这需要Laravel 5.6+

您可以使用Laravel的Logger外观将所有消息记录到Timber。

config/logging.php添加新通道

'channels' => [
    'timber' => [
        'driver' => 'monolog',
        'handler' => Rebing\Timber\Handlers\TimberHandler::class,
    ],
];

并在.env中更新LOG_CHANNEL=timber

然后您可以通过提供消息、类型和数据轻松记录自定义数据。例如

$data = [
    'key' => 'value',
];
\Log::info('Some message', ['type' => $data]);

自定义事件

您还可以记录自定义数据。上下文将自动添加。

use Rebing\Timber\Requests\Events\CustomEvent;

$data = [
    'some' => 'data',
];

$customEvent = new CustomEvent('Log message', 'custom', $data);
dispatch($customEvent);
// Or $customEvent->send();

禁用日志记录

您可以通过更新.env文件来禁用将日志发送到Timber

TIMBER_ENABLED=false

测试

$ phpunit

贡献

有关详细信息和一个待办事项列表,请参阅contributing.md

安全性

如果您发现任何与安全相关的问题,请通过电子邮件mikk.nurges@rebing.ee而不是使用问题跟踪器。

致谢

许可

MIT。请参阅许可文件以获取更多信息。