type Logger … func SetLogger(l Logger) { … } func ResetDefaultLogger() { … } func getLogger() Logger { … } var defaultLogger … var discardLogger … var raftLoggerMu … var raftLogger … const calldepth … type DefaultLogger … func (l *DefaultLogger) EnableTimestamps() { … } func (l *DefaultLogger) EnableDebug() { … } func (l *DefaultLogger) Debug(v ...interface{ … } func (l *DefaultLogger) Debugf(format string, v ...interface{ … } func (l *DefaultLogger) Info(v ...interface{ … } func (l *DefaultLogger) Infof(format string, v ...interface{ … } func (l *DefaultLogger) Error(v ...interface{ … } func (l *DefaultLogger) Errorf(format string, v ...interface{ … } func (l *DefaultLogger) Warning(v ...interface{ … } func (l *DefaultLogger) Warningf(format string, v ...interface{ … } func (l *DefaultLogger) Fatal(v ...interface{ … } func (l *DefaultLogger) Fatalf(format string, v ...interface{ … } func (l *DefaultLogger) Panic(v ...interface{ … } func (l *DefaultLogger) Panicf(format string, v ...interface{ … } func header(lvl, msg string) string { … }