問題タブ [go-zap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3803 参照

go - ZAP ログエントリに新しい列/フィールドを追加する方法は?

次のログ構造があります。

このロギング スニペットには、5 種類の情報があることがわかります。日付/時刻、ログレベル、発生、メッセージ、および JSON フィールド ([STDERR] フィールドを除く) があります。つまり、ログ構造には 5 つの列があります。キーpidプロセス(JSON から)を含む新しい列を追加したいと思います。ZAP エンコーダーと構成でこれを行うにはどうすればよいですか? ZAP のドキュメントにはその解決策が見つかりませんでした。

次のコードを使用して、ログにフィールドを追加します。

logger = logger.With(zap.Field{Key: "pid", Type: zapcore.Int64Type, Integer: int64(os.Getpid())})

しかし、pid フィールドの値は JSON (上に表示されているもの) になり、新しい列に表示したいと思います。ZAP でこれを行う簡単な方法はありますか?

私の望ましい構造は、前の例では次のようになります。