Mencapai MDC Log in GoLang
Log dengan Mapped Diagnostic Context (MDC) dalam Java membolehkan mengesan permintaan serentak dengan menambahkan UUID pada log pelayan . Dalam Go, storan setempat rangkaian, yang mana MDC bergantung pada Java, tidak tersedia.
Penyelesaian GoLang: Konteks Benang
Untuk mendayakan pengelogan seperti MDC dalam Go, ia perlu diperlukan untuk memasukkan Konteks sepanjang timbunan aplikasi. Pendekatan ini telah mendapat populariti dalam kalangan perpustakaan Go.
Pelaksanaan biasa termasuk menggunakan pakej perisian tengah untuk menambahkan ID permintaan pada konteks permintaan web. Ini membolehkan anda mendapatkan semula ID menggunakan ctx.Value("requestId") dan menggunakannya untuk pengelogan.
Sebagai contoh, anda boleh mencipta fungsi logger tersuai:
<code class="go">func logStuff(ctx context.Context, msg string) { log.Println(ctx.Value("requestId"), msg) // Call the standard library logger }</code>
Pendekatan ini menawarkan fleksibiliti dan membolehkan anda mengendalikan ID permintaan jika perlu. Walaupun ia bukan setara langsung dengan MDC Java, ia menyediakan penyelesaian yang berdaya maju untuk mengesan permintaan serentak dalam Go.
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Pengelogan Seperti MDC dalam GoLang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!