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  }