llewellyn-kevin/raygun-logger

Laravel 错误记录包,用于将错误记录到 [Raygun](https://raygun.com/)

v0.1.0 2023-08-23 20:32 UTC

This package is auto-updated.

Last update: 2024-09-25 17:41:08 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

此包作为 Raygun4php 的包装器,使得将 Laravel 项目日志记录到 Raygun 变得快速且简单。

警告 此包正在与生产应用程序一起开发和使用。但尚未标记为 1.0 版本,因为我们只能验证那些特定用例。我们希望在鼓励用户在关键项目中使用之前,捕捉到任何边缘情况并最终确定每个基本用例。

安装

您可以通过 composer 安装此包

composer require llewellyn-kevin/raygun-logger

在您的应用程序的 config/logging.php 中,添加 raygun 通道配置并将其添加到堆栈配置中

[
    'channel' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['daily', 'raygun'],
            // ...
        ],

        // ...

        'raygun' => [
            'driver' => 'raygun',
        ],
    ],
]

使用您想要使用的 Raygun URL 和密钥更新您的 .env

RAYGUN_URI=https://api.raygun.com
RAYGUN_KEY=[[project key here]]

您可以使用控制台命令测试您的安装

php artisan ragun:test

或使用自定义错误消息

php artisan ragun:test "The fox already jumped over the dog."

这将检查环境变量,报告任何缺失的,并将默认或自定义文本的异常发送到 Raygun,以便您可以检查它是否显示。

用法

错误应通过堆栈自动发送到 raygun。但如果有任何原因需要手动将异常发送到 Raygun,您可以使用 RaygunLogger 门面

RaygunLogger::handle(new Exception('The fox already jumped over the dog.'));

您还可以将这些请求添加到关联数组中作为元数据

RaygunLogger::handle(new Exception('The fox already jumped over the dog.'), [
    'foxname' => 'Tod',
    'dogname' => 'Copper',
]);

注意 这是整个包的主要方法。因此,它强制执行所有核心逻辑。这意味着被列入黑名单或不符合级别要求的异常类型仍然会被抑制并且不会被发送到 Raygun。

过滤

您可能不希望每个错误都显示在 Raygun 中。有两种方法可以抑制错误

  1. 列入黑名单的异常类型

raygun-logger 配置中,您将找到一个名为 blacklist 的参数。添加到此数组的任何异常都不会报告给 Raygun。要添加到此列表,您必须首先发布配置

php artisan vendor:publish --tag=config
  1. 设置错误级别

您可能希望指定应用程序中各种异常的日志级别。您可以在 RaygunLogger 门面中注册这些级别

RaygunLogger::level(Exception::class, LogLevel::CRITICAL);

然后,您可以使用基本级别更新 raygun-logger 配置,您希望报告的级别。只有指定级别或更高级别的异常才会发送到 Raygun。

测试

此包使用 Pest 进行测试。为了简单起见,有一个 composer 脚本来运行整个套件

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

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

致谢

  • 所有贡献者
  • 此包大量受到 LaraBug 上所做工作的启发。目标是提供类似于 LaraBug 的 Raygun 设置体验。他们有一个惊人的产品,其大部分代码被用作此包的基础。如果您不需要 Raygun,您可以考虑将其作为免费的替代品。

许可

麻省理工学院许可证(MIT)。有关更多信息,请参阅许可证文件

Laravel 包模板

此包是使用Laravel 包模板生成的。