//f represnts io.file // incase I don't need lumberjack and want to // write to both Stdout and file multi := io.MultiWriter(os.Stdout, f) l := ConfigureLogrus(multi) // in case I don't need lumberjack and want to // write to file only l := ConfigureLogrus(f) // incase I don't need lumberjack and want to // write to stdout only l := ConfigureLogrus(os.Stdout) //in case I want lumberjack and stdout //lets say l is logrus instance multi := io.MultiWriter(os.Stdout, l) j := ConfigureLogrus(l) and so on.