Log Tersuai untuk Ralat net/http dengan Pelaksanaan Logger Tersuai
Untuk log ralat dari net/http dalam format tersuai, medan ErrorLog struct net/http.Server boleh digunakan. Menyesuaikan logger ini melibatkan menggantikannya dengan pelaksanaan yang mematuhi antara muka io.Writer.
Melaksanakan Logger Tersuai
Dalam contoh yang disediakan, struct AppLogger telah ditentukan untuk ralat log. Untuk menyelaraskan dengan spesifikasi ErrorLog net/http, AppLogger ini boleh diubah suai untuk melaksanakan io.Writer:
type AppLogger struct { log *zap.SugaredLogger } func (l *AppLogger) Write(p []byte) (n int, err error) { l.log.Errorw(string(p)) return len(p), nil }
Menyepadukan dengan net/http.Server
Untuk menyepadukan pembalak tersuai dengan net/http.Server, nyatakannya dan serahkannya kepada ErrorLog medan:
server := &http.Server{ Addr: addr, Handler: handler, ErrorLog: &AppLogger{logger}, // Use the custom AppLogger }
Menggunakan Zap Logger
Untuk menggunakan Zap logger dengan AppLogger tersuai, langkah berikut boleh diambil:
Kesimpulan
Dengan melaksanakan pengelog berasaskan io.Writer tersuai seperti AppLogger, ralat daripada net/http boleh dilog masuk format yang selaras dengan strategi pengelogan aplikasi. Ini membolehkan 统一 dan pengelogan ralat fleksibel merentas sistem.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengelogan Tersuai untuk Ralat bersih/http Menggunakan Logger Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!