jobrunner
jobrunner copied to clipboard
Use std logger to allow override output
This PR changes output for the application flow logs from direct write to os.Stdout
(fmt.Print
) to stdlib log
that allows to override real output with the existing log writer. E.g.
imprt (
"log"
"go.uber.org/zap"
)
// implements io.Writer to write logs to app logger instead of default os.Stderr
type stdLoggerWriter struct {
logger *zap.Logger
}
func (w *stdLoggerWriter) Write(p []byte) (int, error) {
w.logger.Info(string(p), zap.String("source", "std-log"))
return len(p), nil
}
logger, _ := zap.NewDevelopment()
// override std logger to write into app logger
log.SetOutput(&stdLoggerWriter{logger})