glog.go
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
}
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
}
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 , " \n " , now . Format ( " " ) ) fmt . Fprintf ( & buf , " \n " , host ) fmt . Fprintf ( & buf , " \n " , runtime . Compiler , runtime . Version ( ) , runtime . GOOS , runtime . GOARCH ) fmt . Fprintf ( & buf , " \n " ) n , err := sb . file . Write ( buf . Bytes ( ) ) sb . nbytes += uint64 ( n ) return err }
// rotateFile closes the syncBuffer's file and starts a new one.
rotateFile closes the syncBuffer s file and starts a new one .