kvlog/writer.go
func (w *Writer) Attach(logger ...*log.Logger) {
	if len(logger) == 0 {
		logger = []*log.Logger{nil}
	}
	for _, l := range logger {
		lw := newLogWriter(w, l)
		if l == nil {
			log.SetOutput(lw)
		} else {
			l.SetOutput(lw)
		}
	}
}
func (w *Writer) Attach(logger ...*log.Logger) {
	if len(logger) == 0 {
		logger = []*log.Logger{nil}
	}
	for _, l := range logger {
		lw := newLogWriter(w, l)
		if l == nil {
			log.SetOutput(lw)
		} else {
			l.SetOutput(lw)
		}
	}
}
// Attach sets this writer as the output destination
// for the specified logger. If the logger is not specified,
// then this writer attaches to the log package 'standard' logger.
//
// This method calls SetOutput for the specified logger
// (or the standard logger) to set its output writer.