package api import ( "fmt" "io" "os" "time" ) var logTimeFmt = "2006/01/02 - 15:04:05" type Logger struct { out io.StringWriter prefix string } func (l *Logger) Print(prefix string, a ...interface{}) { t := time.Now().UTC() l.out.WriteString(fmt.Sprintf("[%s] %s | [%s] | %s\n", l.prefix, t.Format(logTimeFmt), prefix, fmt.Sprint(a...))) } func (l *Logger) Printf(prefix string, format string, a ...interface{}) { l.Print(prefix, fmt.Sprintf(format, a...)) } func (l *Logger) Fatal(prefix string, a ...interface{}) { l.Print(prefix, a...) os.Exit(1) } func (l *Logger) Fatalf(prefix string, format string, a ...interface{}) { l.Printf(prefix, format, a...) os.Exit(1) }