Go で HTTP リクエストとレスポンスの両方を効率的に記録するにはどうすればよいですか?
Go でリクエストとレスポンスの両方をログに記録する
Go で複雑なアプリケーションを作成する場合、HTTP リクエストとレスポンスを効率的に処理することが重要です。 Gorilla Web ツールキットのマルチプレクサおよびハンドラー パッケージはリクエストの処理を簡素化しますが、レスポンスのログ記録は依然として課題です。
これに対処するために、Eric Broda による受け入れられた回答では、リクエストの詳細をキャプチャするソリューションが提供されています。ただし、クライアントに送信された実際の応答をログに記録することはできません。これを解決するには、コードを変更する必要があります。
func logHandler(fn http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { x, err := httputil.DumpRequest(r, true) if err != nil { http.Error(w, fmt.Sprint(err), http.StatusInternalServerError) return } log.Println(fmt.Sprintf("%q", x)) rec := httptest.NewRecorder() fn(rec, r) log.Println(fmt.Sprintf("%q", rec.Body)) // this copies the recorded response to the response writer for k, v := range rec.HeaderMap { w.Header()[k] = v } w.WriteHeader(rec.Code) rec.Body.WriteTo(w) } }
この変更されたコードは、応答をインターセプトして応答ライターにコピーし、リクエストと応答の両方のログを有効にします。
以上がGo で HTTP リクエストとレスポンスの両方を効率的に記録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?
