外部コマンドのstdout/stderrをzapに送る


exec.Command 及び exec.CommandContext で実行した外部コマンドの標準出力や標準エラー出力をzapでログに記録するには、 zapio.Writerを使うと良い。

logger, _ := zap.NewDevelopment()
w := &zapio.Writer{
    Log: logger,
    Level: zap.DebugLevel,
}
defer w.Close()

cmd := exec.Command("echo", "hello world")
cmd.Stdout = w
cmd.Stderr = w
cmd.Run()

参考