ホームページ >バックエンド開発 >PHPチュートリアル >HTTPクライアントリクエストの例外の切り捨てをカスタマイズします

HTTPクライアントリクエストの例外の切り捨てをカスタマイズします

Robert Michael Kim
Robert Michael Kimオリジナル
2025-03-06 02:39:09246ブラウズ

Customize the Truncation of HTTP Client Request Exceptions

バグレポートやセントリーの重要なデバッグ情報を不明瞭にするHTTPクライアントの切り捨てられたクライアントの例外に不満を抱いていますか? LaravelのHTTP応答のデフォルトの切り捨ては、要求の障害に関する重要な手がかりを隠すことができます。

この問題はLaravel 11.35で解決されます! 2つの新しい方法では、例外の切り捨てを正確に制御します。 それらを

に追加するだけです bootstrap/app.php

さて、HTTPクライアントの例外は完全に無傷のままであるか、指定された長さ(デフォルトよりも長い)に切り捨てられます。 例外処理とロギングを完全に制御してください:
// bootstrap/app.php

use Illuminate\Http\Client\RequestException;

return Application::configure(basePath: dirname(__DIR__))
    // ...
    ->withExceptions(function (Exceptions $exceptions) {
        $exceptions->dontTruncateRequestExceptions(); // Completely disable truncation

        // Or...

        $exceptions->truncateRequestExceptionsAt(260); // Set a custom truncation length
    })->create();

LaravelのHTTPクライアント内の例外処理と切り捨ての詳細については、Laravelの公式ドキュメントを参照してください。 Laravel11.35.0!
try {
    $response = Http::throws()->get('https://api.example.com/some-error');

    // ...
} catch (\Illuminate\Http\Client\RequestException $e) {
    Log::error('HTTP Error', [
        'message' => $e->getMessage(), // Truncated or not, depending on your setting
        'response' => $e->response->json(),
        'status' => $e->response->status(),
        // ...
    ]);
}
でこの貴重な改善について、Steve Bauman(プルリクエスト#53734)に感謝します。

以上がHTTPクライアントリクエストの例外の切り捨てをカスタマイズしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。