nestednet/timber-laravel-sentinel

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

v1.0.10 2019-10-04 15:08 UTC

This package is auto-updated.

Last update: 2024-09-05 02:05:55 UTC


README

Latest Version on Packagist Total Downloads Build Status

A Laravel 5+ 包装器,用于 Timber Logger 服务。使用它来记录 HTTP 请求或自定义事件到 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/graphql.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。有关更多信息,请参阅 许可文件