func (logger *Logger) LogAlert() bool {
	return logger.threshold >= log.Alert
}
LogAlert returns true if the log level is at alert or lower.
package golog
import (
	"bytes"
	"fmt"
	"io"
	"sync"
	"time"
	"github.com/alexcesaro/log"
)
type Logger struct {
	out             io.Writer
	threshold       log.Level
	writeMutex      sync.Mutex
	Formatter       func(*bytes.Buffer, log.Level, ...interface{})
	Writer          func(io.Writer, []byte, log.Level)
	bufferList      *buffer
	bufferListMutex sync.Mutex
}
func New(out io.Writer, threshold log.Level) *Logger {
	return &Logger{
		out:       out,
		threshold: threshold,
		Formatter: defaultFormater,
		Writer:    defaultWriter,
	}
}
func (logger *Logger) Emergency(args ...interface{}) {
	logger.output(log.Emergency, args...)
}
func (logger *Logger) Emergencyf(format string, args ...interface{}) {
	logger.output(log.Emergency, fmt.Sprintf(format, args...))
}
func (logger *Logger) Alert(args ...interface{}) {
	logger.output(log.Alert, args...)
}
func (logger *Logger) Alertf(format string, args ...interface{}) {
	logger.output(log.Alert, fmt.Sprintf(format, args...))
}
func (logger *Logger) Critical(args ...interface{}) {
	logger.output(log.Critical, args...)
}
func (logger *Logger) Criticalf(format string, args ...interface{}) {
	logger.output(log.Critical, fmt.Sprintf(format, args...))
}
func (logger *Logger) Error(args ...interface{}) {
	logger.output(log.Error, args...)
}
func (logger *Logger) Errorf(format string, args ...interface{}) {
	logger.output(log.Error, fmt.Sprintf(format, args...))
}
func (logger *Logger) Warning(args ...interface{}) {
	logger.output(log.Warning, args...)
}
func (logger *Logger) Warningf(format string, args ...interface{}) {
	logger.output(log.Warning, fmt.Sprintf(format, args...))
}
func (logger *Logger) Notice(args ...interface{}) {
	logger.output(log.Notice, args...)
}
func (logger *Logger) Noticef(format string, args ...interface{}) {
	logger.output(log.Notice, fmt.Sprintf(format, args...))
}
func (logger *Logger) Info(args ...interface{}) {
	logger.output(log.Info, args...)
}
func (logger *Logger) Infof(format string, args ...interface{}) {
	logger.output(log.Info, fmt.Sprintf(format, args...))
}
func (logger *Logger) Debug(args ...interface{}) {
	logger.output(log.Debug, args...)
}
func (logger *Logger) Debugf(format string, args ...interface{}) {
	logger.output(log.Debug, fmt.Sprintf(format, args...))
}
func (logger *Logger) Log(level log.Level, args ...interface{}) {
	logger.output(level, args...)
}
func (logger *Logger) Logf(level log.Level, format string, args ...interface{}) {
	logger.output(level, fmt.Sprintf(format, args...))
}
func (logger *Logger) LogEmergency() bool {
	return logger.threshold >= log.Emergency
}