boserup/laravel-time-weaver

记录外部HTTP请求的响应时间。

1.0.0 2023-11-17 21:43 UTC

This package is auto-updated.

Last update: 2024-09-18 00:02:56 UTC


README

Laravel Time Weaver 是一个小巧的包,旨在无缝跟踪和记录 Laravel 应用程序中外部 HTTP 请求的响应时间。受到科幻领域的启发,这个包充当时间守护者,细致地记录和分析应用程序与浩瀚数字宇宙互动的编年史。

安装

composer require boserup/laravel-time-weaver

入门

  1. 配置 AWS 凭据:默认情况下,Laravel Time Weaver 将日志记录到 CloudWatch。设置以下环境变量以配置 AWS 凭据

    • AWS_REGION:您的 AWS 区域。
    • CLOUDWATCH_KEY:您的 CloudWatch 访问密钥。
    • CLOUDWATCH_SECRET:您的 CloudWatch 密钥。
  2. 自定义指标命名空间:如果您想将默认的指标命名空间从 "LaravelTimeWeaver" 改变,请设置环境变量 TIME_WEAVER_CLOUDWATCH_METRIC_NAMESPACE

  3. 调整指标名称:要修改默认的指标名称 "ExternalHttpResponseTime",请设置环境变量 TIME_WEAVER_CLOUDWATCH_METRIC_NAME

  4. 切换对所有主机进行日志记录:默认情况下,Laravel Time Weaver 将记录所有出站请求的响应时间。通过设置环境变量 TIME_WEAVER_LOG_ALL_HOSTS 来切换此行为。如果设置为 false,您需要发布配置文件以定义允许的主机列表。

    php artisan vendor:publish --tag=time-weaver-config

使用自定义日志记录器

Laravel Time Weaver 允许您使用自定义日志记录器来记录响应时间。默认情况下,该包包含 CloudFront 指标日志记录。但是,您可以通过以下步骤实现自己的日志记录器

  1. 发布配置文件:如果您还没有,使用以下命令发布配置文件

    php artisan vendor:publish --tag=time-weaver-config

    这将在 config 目录中创建一个配置文件 (config/time-weaver.php)

  2. 更新配置:打开发布的配置文件。在此文件中,您可以自定义日志记录器类。

    return [
       // Other configuration options...
    
       'logger' => \Your\Custom\Logger\CustomLogger::class,
    
       // Other configuration options...
    ];

    将 `'logger' 属性设置为您的自定义日志记录器的完全限定类名。

  3. 实现自定义日志记录器:您的自定义日志记录器类应实现 LoggerContract 接口,如下所示

    <?php
    
    namespace Your\Custom\Logger;
    
    use Boserup\LaravelTimeWeaver\Contracts\LoggerContract;
    
    class CustomLogger implements LoggerContract
    {
       public function log(string $hostname, float $time): void
       {
          // Logic goes here...
       }
    }
    
    ?>

贡献

我们欢迎来自时间旅行者和开发者的贡献。请随意分支存储库,进行改进,并提交拉取请求。

许可证

Laravel Time Weaver 是开源软件,许可协议为 MIT。

与 Laravel Time Weaver 一起踏上时空之旅——您的响应时间优化之谜的忠实伴侣!