code: func (sb *syncBuffer) rotateFile(now time.Time) error {
  	if sb.file != nil {
  		sb.Flush()
  		sb.file.Close()
  	}
  	var err error
  	sb.file, _, err = sb.logger.create(severityName[sb.sev], now)
  	sb.nbytes = 0
  	if err != nil {
  		return err
  	}
  
  	sb.Writer = bufio.NewWriterSize(sb.file, bufferSize)
  
  	// Write header.
  	var buf bytes.Buffer
  	fmt.Fprintf(&buf, "Log file created at: %s\n", now.Format("2006/01/02 15:04:05"))
  	fmt.Fprintf(&buf, "Running on machine: %s\n", host)
  	fmt.Fprintf(&buf, "Binary: Built with %s %s for %s/%s\n", runtime.Compiler, runtime.Version(), runtime.GOOS, runtime.GOARCH)
  	fmt.Fprintf(&buf, "Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg\n")
  	n, err := sb.file.Write(buf.Bytes())
  	sb.nbytes += uint64(n)
  	return err
  }
docs: // rotateFile closes the syncBuffer's file and starts a new one.