定制 justbetter/laravel-error-logger 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

justbetter/laravel-error-logger

最新稳定版本:2.5.0

Composer 安装命令:

composer require justbetter/laravel-error-logger

包简介

Simple way to log errors with Laravel Nova support.

README 文档

README

This packages contains a nice and easy way to log errors that happen in your application. A job can be added to your scheduler in order to receive daily notifications about reported errors via e.g. Slack.

Support for Laravel Nova is also available to view a list of reported errors with the justbetter/nova-error-logger package.

Please note that this package won't automatically save exceptions thrown by Laravel or PHP - you have to manually save them like the example shown later in this documentation.

Setup

In order to make use of the package the following actions are required.

Publishing

Publish the configuration of the package.

php artisan vendor:publish --provider="JustBetter\ErrorLogger\ServiceProvider"

Migrations

Run your migrations.

php artisan migrate

Scheduler

NOTE! This is optional and not required in order to use the package.

In your App\Console\Kernel.php you can add the daily error notification job like so:

use JustBetter\ErrorLogger\Jobs\ErrorNotificationJob;

$schedule->job(ErrorNotificationJob::class)->dailyAt('09:00');

Configuration

Add the following variable to your .env to define the logging channel for daily notifications if the job is enabled.

LARAVEL_ERROR_NOTIFICATION_CHANNEL=slack

Commands

The logging table can build up pretty fast. In order to prune older records, you can use the following command:

php artisan laravel-error-logger:prune --all
php artisan laravel-error-logger:prune --hours=720

To automatically prune the logs, you may want to add the command to your scheduler.

Example usage

IMPORTANT! When using the method withChannel it will directly send a notification when saved.

The error class can be easily used. No value is required to be set in order to save the log.

use JustBetter\ErrorLogger\Models\Error;

Error::log()
    ->withGroup('Magento')
    ->withMessage('Something went wrong!')
    ->withDetails('Extra information of this log!')
    ->withThrowable($exception)
    ->withChannel('slack')
    ->withModel($model)
    ->save();

Method FromThrowable

You may also use the method fromThrowable. This function accepts a Throwable which automatically sets the following extra attributes compared to withThrowable:

  • withDetails
  • withCode

It is still possible to override these values when chaining them after the throwable.

Grouping

Errors will be automatically grouped. In the config you can set an interval for this. If you don't want to group you can call dontGroup().

Hiding from index

You can hide errors from the index by calling hideFromIndex().

Model relation

When using the withModel method you can retrieve errors for a specific model. The \JustBetter\ErrorLogger\Traits\HasErrors trait contains this relation with the name errors()

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 42.75k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 1
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 3
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2021-12-21