Rumah >pembangunan bahagian belakang >Golang >Bolehkah Tahap Log Zap Logger Dilaraskan Secara Dinamik dalam Pengawal-Jalan Waktu?
Adakah Pengubahsuaian Tahap Log Masa Jalan Mungkin dengan Zap Logger dan Controller-Rtime?
Dalam masa kendalian pengawal, pembalak adalah berdasarkan Zap logger perpustakaan. Untuk mengubah suai tahap log pada masa jalan:
Mencipta AtomicLevel Logger Baharu:
Daripada menggunakan zap.New(), buat AtomicLevel logger:
atom := zap.NewAtomicLevel()
Pengekod Tersuai Konfigurasi:
Untuk output pengelogan yang menentukan, sesuaikan konfigurasi pengekod:
encoderCfg := zap.NewProductionEncoderConfig() encoderCfg.TimeKey = ""
Mencipta Logger:
Gabungkan Tahap Atomik dan EncoderConfig untuk mencipta yang baharu logger:
logger := zap.New(zapcore.NewCore( zapcore.NewJSONEncoder(encoderCfg), zapcore.Lock(os.Stdout), atom, ))
Pelarasan Tahap Log:
Semasa masa jalan, anda boleh mengubah suai tahap log menggunakan kaedah SetLevel():
atom.SetLevel(zap.ErrorLevel)
Integrasi dengan Pengawal-Waktu Jalan:
Untuk digunakan logger tersuai dengan controller-runtime, konfigurasikannya menggunakan zap logger dari sigs.k8s.io/controller-runtime/pkg/log/zap:
ctrl.SetLogger(zap.New(zap.UseAtomicLevel(&atom)))
Dengan menggunakan pendekatan AtomicLevel, anda boleh menukar secara dinamik tahap log pengelog Zap yang digunakan oleh masa jalan pengawal, membolehkan anda melaraskan tingkah laku pengelogan semasa masa jalan tanpa mencipta semula pembalak atau menjejaskannya. pilihan lain.
Atas ialah kandungan terperinci Bolehkah Tahap Log Zap Logger Dilaraskan Secara Dinamik dalam Pengawal-Jalan Waktu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!