Zap ロガーとコントローラー ランタイムでランタイム ログ レベルの変更は可能ですか?
コントローラー ランタイム内では、ロガーは Zap ロガーに基づいています図書館。実行時にログ レベルを変更するには:
新しい AtomicLevel ロガーの作成:
zap.New() を使用する代わりに、AtomicLevel ロガーを作成します:
atom := zap.NewAtomicLevel()
カスタム エンコーダー設定:
確定的なログ出力の場合、エンコーダ設定をカスタマイズします:
encoderCfg := zap.NewProductionEncoderConfig() encoderCfg.TimeKey = ""
ロガーの作成:
AtomicLevel とEncoderConfig を新規作成するlogger:
logger := zap.New(zapcore.NewCore( zapcore.NewJSONEncoder(encoderCfg), zapcore.Lock(os.Stdout), atom, ))
ログ レベルの調整:
実行時、SetLevel() メソッドを使用してログ レベルを変更できます:
atom.SetLevel(zap.ErrorLevel)
との統合コントローラー ランタイム:
コントローラー ランタイムでカスタマイズされたロガーを使用するには、sigs.k8s.io/controller-runtime/pkg/log/zap:
ctrl.SetLogger(zap.New(zap.UseAtomicLevel(&atom)))AtomicLevel アプローチを利用すると、Zap ロガーのログ レベルを動的に変更できます。コントローラー ランタイムを使用すると、ロガーを再作成したり、他のオプションに影響を与えたりすることなく、実行時のロギング動作を調整できます。
以上がZap Logger のログ レベルはコントローラ ランタイムで動的に調整できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。