HTTP Client Logger — це реєстратор для вбудованого HTTP-клієнта Laravel. Це спрощує реєстрацію запиту та відповіді, надсилаючи їх до налаштованого реєстратора Laravel.
У своїй найпростішій формі цей пакет Logger виведе такий приклад журналу:
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":[...]}}
Ви також можете умовно реєструвати HTTP-запити на основі заданої «правдивої» умови за допомогою logWhen()
і навіть надавати контекст журналювання для log()
і 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');
Крім того, цей пакет дозволяє передавати налаштування журналювання на вимогу та навіть вкажіть реєстратор для повної гнучкості протоколювання HTTP.
Ця реалізація стала можливою завдяки макроактивному класу PendingRequest
, який можна перегляньте в дії тут.