avengers-code-lovers/laravel-log-monitoring

该包最新版本(1.3.0)没有可用的许可证信息。

使用avengers code lovers的laravel日志监控,监控laravel日志和队列日志

1.3.0 2021-07-01 08:28 UTC

This package is auto-updated.

Last update: 2024-09-29 05:35:58 UTC


README

要开始使用 Monitoring Log Laravel,请使用Composer将包添加到项目的依赖项中

   composer require avengers-code-lovers/laravel-log-monitoring

配置

Laravel 5.5+

Laravel使用包自动发现,因此不需要您手动添加 ServiceProvider。

Laravel < 5.5

如果您不使用自动发现,请将 ServiceProvider 添加到 config/app.php 中的 providers 数组

'providers' => [
    // Other service providers...

    AvengersGroup\MonitoringServiceProvider::class

],

将您的会话开始设置为全局中间件在 app/Http/Kernel.php

protected $middleware => [
    // Other global middleware...

    \Illuminate\Session\Middleware\StartSession::class,
];

protected $middlewareGroups => [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        //\Illuminate\Session\Middleware\StartSession::class,       // Comment this
        // ...
    ],
];

您还需要添加 api_key chatwork bot 和 room sos 为您应用程序使用的服务。这些凭据应放置在您的 config/services.php 配置文件中,并使用键 chatwork。例如

    'chatwork' => [
        'api_key' => env('CHATWORK_API_KEY'),
        'room_id_sos' => env('CHATWORK_API_ROOM_ID'),
        'role' => [
            'admin' => 'admin'
        ]
    ]

在 .env 中添加键

CHATWORK_API_KEY=xxxxx
CHATWORK_API_ROOM_ID=xxxxx

基本用法 监控 Laravel 应用程序错误

将 Monitoring Log Laravel 报告添加到 App/Exceptions/Handler.php

public function report(Exception $exception)
{
    app('monitoring')->sendExceptionToChatWork($exception);

    parent::report($exception);
}

基本用法 监控队列错误

遵循https://laravel.net.cn/docs/master/queues#cleaning-up-after-failed-jobs 中的文档

/**
 * The job failed to process.
 *
 * @param  Exception  $exception
 * @return void
 */
public function failed(Exception $exception)
{
    app('monitoring')->sendExceptionToChatWork($exception);
}

高级用法

Monitoring Log Laravel 支持以支持的功能将 $request 作为参数传递,这些功能与包含更多信息的消息一起提供

将 Monitoring Log Laravel 报告添加到 App/Exceptions/Handler.php

/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Exception  $exception
 * @return \Illuminate\Http\Response
 */
public function render($request, Exception $exception)
{
    app('monitoring')->sendExceptionToChatWork($exception, $request);

    return parent::render($request, $exception);
}