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  }