| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package logger
- import (
- "errors"
- "fmt"
- "log"
- "os"
- "strings"
- )
- const (
- exit = -1
- )
- var (
- ExitError = errors.New("exit error")
- )
- type Logger interface {
- Debugf(format string, v ...interface{})
- Infof(format string, v ...interface{})
- Errorf(format string, v ...interface{})
- Warnf(format string, v ...interface{})
- Fatalf(format string, v ...interface{})
- }
- type stdOutLogger struct {
- *log.Logger
- }
- func NewStdOutLogger(prefix string) Logger {
- if prefix != "" && !strings.HasSuffix(prefix, " ") {
- prefix = prefix + " "
- }
- return &stdOutLogger{
- Logger: log.New(os.Stdout, prefix, log.Lshortfile|log.LstdFlags),
- }
- }
- func (s *stdOutLogger) output(level level, str string) {
- formatStr := ""
- switch level {
- case levelFatal:
- formatStr = "\033[35m[FATAL]\033[0m " + str
- case levelError:
- formatStr = "\033[31m[ERROR]\033[0m " + str
- case levelWarning:
- formatStr = "\033[33m[WARN]\033[0m " + str
- case levelInfo:
- formatStr = "\033[32m[INFO]\033[0m " + str
- case levelDebug:
- formatStr = "\033[36m[DEBUG]\033[0m " + str
- }
- _ = s.Output(3, formatStr)
- }
- func (s *stdOutLogger) Debugf(format string, v ...interface{}) {
- s.output(levelDebug, fmt.Sprintf(format, v...))
- }
- func (s *stdOutLogger) Infof(format string, v ...interface{}) {
- s.output(levelInfo, fmt.Sprintf(format, v...))
- }
- func (s *stdOutLogger) Warnf(format string, v ...interface{}) {
- s.output(levelWarning, fmt.Sprintf(format, v...))
- }
- func (s *stdOutLogger) Errorf(format string, v ...interface{}) {
- s.output(levelError, fmt.Sprintf(format, v...))
- }
- func (s *stdOutLogger) Fatalf(format string, v ...interface{}) {
- s.output(levelError, fmt.Sprintf(format, v...))
- //os.Exit(exit)
- panic(ExitError)
- }
- type (
- level int
- )
- const (
- levelFatal level = iota + 1
- levelError
- levelWarning
- levelInfo
- levelDebug
- )
|