Correct approach to global logging in Golang

What’s the pattern for application logging in Go? If I’ve got, say, 5 goroutines I need to log from, should I…

  • Create a single log.Logger and pass it around?
  • Pass around a pointer to that log.Logger ?
  • Should each goroutine or function create a logger?
  • Should I create the logger as a global variable?