49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
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...)
|
|
}
|