boserup / laravel-time-weaver
记录外部HTTP请求的响应时间。
Requires
- php: >=7.4
- aws/aws-sdk-php: ^3.145
- illuminate/support: ^8.0||^9.0||^10.0
Requires (Dev)
- orchestra/testbench: ^6.0||^7.0||^8.0
README
Laravel Time Weaver 是一个小巧的包,旨在无缝跟踪和记录 Laravel 应用程序中外部 HTTP 请求的响应时间。受到科幻领域的启发,这个包充当时间守护者,细致地记录和分析应用程序与浩瀚数字宇宙互动的编年史。
安装
composer require boserup/laravel-time-weaver
入门
-
配置 AWS 凭据:默认情况下,Laravel Time Weaver 将日志记录到 CloudWatch。设置以下环境变量以配置 AWS 凭据
AWS_REGION:您的 AWS 区域。CLOUDWATCH_KEY:您的 CloudWatch 访问密钥。CLOUDWATCH_SECRET:您的 CloudWatch 密钥。
-
自定义指标命名空间:如果您想将默认的指标命名空间从 "LaravelTimeWeaver" 改变,请设置环境变量
TIME_WEAVER_CLOUDWATCH_METRIC_NAMESPACE。 -
调整指标名称:要修改默认的指标名称 "ExternalHttpResponseTime",请设置环境变量
TIME_WEAVER_CLOUDWATCH_METRIC_NAME。 -
切换对所有主机进行日志记录:默认情况下,Laravel Time Weaver 将记录所有出站请求的响应时间。通过设置环境变量
TIME_WEAVER_LOG_ALL_HOSTS来切换此行为。如果设置为false,您需要发布配置文件以定义允许的主机列表。php artisan vendor:publish --tag=time-weaver-config
使用自定义日志记录器
Laravel Time Weaver 允许您使用自定义日志记录器来记录响应时间。默认情况下,该包包含 CloudFront 指标日志记录。但是,您可以通过以下步骤实现自己的日志记录器
-
发布配置文件:如果您还没有,使用以下命令发布配置文件
php artisan vendor:publish --tag=time-weaver-config
这将在
config目录中创建一个配置文件(config/time-weaver.php)。 -
更新配置:打开发布的配置文件。在此文件中,您可以自定义日志记录器类。
return [ // Other configuration options... 'logger' => \Your\Custom\Logger\CustomLogger::class, // Other configuration options... ];
将 `'logger' 属性设置为您的自定义日志记录器的完全限定类名。
-
实现自定义日志记录器:您的自定义日志记录器类应实现
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 一起踏上时空之旅——您的响应时间优化之谜的忠实伴侣!