github.com/sereiner/library@v0.0.0-20200518095232-1fa3e640cc5f/log/var.go (about) 1 package log 2 3 type IAppender interface { 4 Write(*LogEvent) 5 Close() 6 } 7 8 const ( 9 ILevel_ALL = iota 10 ILevel_Debug 11 ILevel_Info 12 ILevel_Warn 13 ILevel_Error 14 ILevel_Fatal 15 ILevel_OFF 16 ) 17 const ( 18 SLevel_OFF = "Off" 19 SLevel_Info = "Info" 20 SLevel_Warn = "Warn" 21 SLevel_Error = "Error" 22 SLevel_Fatal = "Fatal" 23 SLevel_Debug = "Debug" 24 SLevel_ALL = "All" 25 ) 26 27 const ( 28 appender_file = "file" 29 appender_stdout = "stdout" 30 ) 31 32 var levelMap map[string]int 33 34 func init() { 35 levelMap = map[string]int{ 36 SLevel_OFF: ILevel_OFF, 37 SLevel_Info: ILevel_Info, 38 SLevel_Warn: ILevel_Warn, 39 SLevel_Error: ILevel_Error, 40 SLevel_Fatal: ILevel_Fatal, 41 SLevel_Debug: ILevel_Debug, 42 SLevel_ALL: ILevel_ALL, 43 } 44 } 45 46 func GetLevel(name string) int { 47 if l, ok := levelMap[name]; ok { 48 return l 49 } 50 return ILevel_ALL 51 } 52 53 //LogWriter 提供Write函数的日志方法 54 type LogWriter func(content ...interface{}) 55 56 func (l LogWriter) Write(p []byte) (n int, err error) { 57 l(string(p)) 58 return len(p), nil 59 } 60 61 //ILogging 基础日志记录接口 62 type ILogging interface { 63 Printf(format string, content ...interface{}) 64 Print(content ...interface{}) 65 Println(args ...interface{}) 66 67 Infof(format string, content ...interface{}) 68 Info(content ...interface{}) 69 70 Errorf(format string, content ...interface{}) 71 Error(content ...interface{}) 72 73 Debugf(format string, content ...interface{}) 74 Debug(content ...interface{}) 75 76 Fatalf(format string, content ...interface{}) 77 Fatal(content ...interface{}) 78 79 Warnf(format string, v ...interface{}) 80 Warn(v ...interface{}) 81 } 82 83 //ILogger 日志接口 84 type ILogger interface { 85 SetTag(name string, value string) 86 ILogging 87 GetSessionID() string 88 }