github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/websocket-wrapper/ws_log.go (about) 1 package ww 2 3 import ( 4 "fmt" 5 ) 6 7 type logger interface { 8 Debug(format string, v ...interface{}) 9 Info(format string, v ...interface{}) 10 Warning(format string, v ...interface{}) 11 Error(format string, v ...interface{}) 12 Notice(format string, v ...interface{}) 13 } 14 15 var mainLogger logger = nil 16 17 func SetLogger(l logger) { 18 mainLogger = l 19 } 20 21 func Debug(format string, v ...interface{}) { 22 if mainLogger != nil { 23 mainLogger.Debug(format, v...) 24 return 25 } 26 fmt.Println(fmt.Sprintf(format, v...)) 27 } 28 29 func Info(format string, v ...interface{}) { 30 if mainLogger != nil { 31 mainLogger.Info(format, v...) 32 return 33 } 34 fmt.Println(fmt.Sprintf(format, v...)) 35 } 36 37 func Warning(format string, v ...interface{}) { 38 if mainLogger != nil { 39 mainLogger.Warning(format, v...) 40 return 41 } 42 fmt.Println(fmt.Sprintf(format, v...)) 43 } 44 45 func Error(format string, v ...interface{}) { 46 if mainLogger != nil { 47 mainLogger.Error(format, v...) 48 return 49 } 50 fmt.Println(fmt.Sprintf(format, v...)) 51 } 52 53 func Notice(format string, v ...interface{}) { 54 if mainLogger != nil { 55 mainLogger.Notice(format, v...) 56 return 57 } 58 fmt.Println(fmt.Sprintf(format, v...)) 59 }