Rejestr klienta HTTP jest loggerem dla wbudowanego klienta HTTP Laravel. Ułatwia rejestrowanie żądania i odpowiedzi, wysyłając je do skonfigurowanego loggera Laravel.
W swojej najprostszej formie ten pakiet Logger wygeneruje następujący przykładowy dziennik:
Http::log()->get('https://repo.packagist.org/p2/bilfeldt/laravel-http-client-logger.json');
//[2021-03-08 06:58:49] local.DEBUG: Time 0.12105202674866sec
//Request
//GET /p2/bilfeldt/laravel-http-client-logger.json HTTP/1.1
//User-Agent: GuzzleHttp/7
//Host: repo.packagist.org
//
//
//Response
//HTTP/1.1 200 OK
//Server: nginx
//Date: Mon, 08 Mar 2021 06:58:49 GMT
//Content-Type: application/json
//Last-Modified: Wed, 17 Feb 2021 14:31:03 GMT
//Transfer-Encoding: chunked
//Connection: keep-alive
//Vary: Accept-Encoding
//
//{"packages":{"bilfeldt/laravel-http-client-logger":[...]}}
Możesz także warunkowo rejestrować żądania HTTP w oparciu o dany warunek „prawdy” za pomocą logWhen()
, a nawet dostarczać kontekst rejestrowania zarówno do log()
, jak i logWhen()
// Log some context along with the HTTP request log
Http::log(['note' => 'Something to log'])->get('https://example.com');
// Log (with context) when $condition === true
Http::logWhen($condition, ['note' => 'Something to log'])
->get('https://example.com');
Dodatkowo ten pakiet umożliwia przekazanie konfiguracja rejestrowania na żądanie, a nawet określ rejestrator, aby uzyskać pełną elastyczność rejestrowania HTTP.
Ta implementacja jest możliwa dzięki klasie makro PendingRequest
, którą możesz zobacz w akcji tutaj.