Skip to content

Conversation

vgarvardt
Copy link

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})

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant