rclone/cmd/bisync/bilib/output.go

23 lines
458 B
Go
Raw Normal View History

// Package bilib provides common stuff for bisync and bisync_test
package bilib
import (
"bytes"
"log"
"github.com/sirupsen/logrus"
)
// CaptureOutput runs a function capturing its output.
func CaptureOutput(fun func()) []byte {
logSave := log.Writer()
logrusSave := logrus.StandardLogger().Writer()
buf := &bytes.Buffer{}
log.SetOutput(buf)
logrus.SetOutput(buf)
fun()
log.SetOutput(logSave)
logrus.SetOutput(logrusSave)
return buf.Bytes()
}