package oceanlogger import ( "fmt" ) //new日志对象 func NewConsoleLogger(s string) ConsoleLogger { lvl := getLogStruct(s) return ConsoleLogger{ level: lvl, } } // 日志级别判断 func (c ConsoleLogger) checkLevel(l LogLevel) bool { if c.level <= l { return true } else { return false } } // 总体实现,下面分别调用 func (c ConsoleLogger) logPrintOverAll(lvl LogLevel, format string, i ...interface{}) { if c.checkLevel(lvl) { msg := fmt.Sprintf(format, i...) funcName, fileName, line, _ := getInfo(3) fmt.Printf("[%s][%s][line:%d,funcname:%s filename:%s] %s\n", getNowTimeStr(), getLogStr(c.level), line, funcName, fileName, msg) } } //日志输出实现 func (c ConsoleLogger) Debug(format string, i ...interface{}) { c.logPrintOverAll(DEBUG, format, i...) } func (c ConsoleLogger) Info(format string, i ...interface{}) { c.logPrintOverAll(INFO, format, i...) } func (c ConsoleLogger) Error(format string, i ...interface{}) { c.logPrintOverAll(ERROR, format, i...) } func (c ConsoleLogger) Fatal(format string, i ...interface{}) { c.logPrintOverAll(FATAL, format, i...) }