logging/oceanconsolelogger.go

49 lines
1.1 KiB
Go
Raw Normal View History

2024-04-09 10:58:40 +08:00
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...)
}