logging.go
func (logger *Logger) log(level Level, format string, a ...interface{}) {
	var message string
	if format == "" {
		message = fmt.Sprint(a...)
	} else {
		message = fmt.Sprintf(format, a...)
	}

	atomic.AddUint64(&logger.countIn, 1)
	logger.recordChannel <- &Record{
		Level:   level,
		Message: message,
		Time:    time.Now(),
	}
}
func (logger *Logger) log(level Level, format string, a ...interface{}) {
	var message string
	if format == "" {
		message = fmt.Sprint(a...)
	} else {
		message = fmt.Sprintf(format, a...)
	}

	atomic.AddUint64(&logger.countIn, 1)
	logger.recordChannel <- &Record{
		Level:   level,
		Message: message,
		Time:    time.Now(),
	}
}
// log creates log record and submits it for processing.