カスタム ロガー実装による net/http エラーのカスタム ログ
net/http からのエラーをカスタム形式でログに記録するには、ErrorLog フィールドnet/http.Server 構造体の利用が可能です。このロガーのカスタマイズには、io.Writer インターフェイスに準拠する実装で置き換えることが含まれます。
カスタム ロガーの実装
提供された例では、AppLogger 構造体が定義されています。エラーのログ記録用。 net/http の ErrorLog 仕様に合わせるために、この AppLogger を変更して 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 }
net/http.Server との統合
統合するにはnet/http.Server を使用してカスタム ロガーをインスタンス化し、ErrorLog に割り当てます。フィールド:
server := &http.Server{ Addr: addr, Handler: handler, ErrorLog: &AppLogger{logger}, // Use the custom AppLogger }
Zap ロガーの使用
カスタム AppLogger で Zap ロガーを使用するには、次の手順を実行できます:
結論
AppLogger のようなカスタム io.Writer ベースのロガーを実装することで、net/http からのエラーが発生する可能性があります。アプリケーションのログ戦略に合わせた形式でログに記録される必要があります。これにより、システム全体で柔軟なエラー ロギングが可能になります。
以上がカスタム ロガーを使用して net/http エラーのカスタム ロギングを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。