implemented output on/off by CurrentLevel setting
This commit is contained in:
@@ -25,6 +25,8 @@ func NewLevelLogger(out io.Writer, level LogLevel) LevelLogger {
|
|||||||
|
|
||||||
// It's a log -- line output
|
// It's a log -- line output
|
||||||
// so only use Println versions
|
// so only use Println versions
|
||||||
|
|
||||||
|
// always print panic and fatal log messages
|
||||||
func (ll LevelLogger) Panic(v ...any) {
|
func (ll LevelLogger) Panic(v ...any) {
|
||||||
ll.panicLog.Panicln(v...)
|
ll.panicLog.Panicln(v...)
|
||||||
}
|
}
|
||||||
@@ -34,46 +36,68 @@ func (ll LevelLogger) Panicf(format string, v ...any) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Trace(v ...any) {
|
func (ll LevelLogger) Trace(v ...any) {
|
||||||
|
if ll.CurrentLevel >= TraceLevel {
|
||||||
ll.traceLog.Println(v...)
|
ll.traceLog.Println(v...)
|
||||||
ll.traceLog.Println(debug.Stack())
|
ll.traceLog.Println(debug.Stack())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Tracef(format string, v ...any) {
|
func (ll LevelLogger) Tracef(format string, v ...any) {
|
||||||
|
if ll.CurrentLevel >= TraceLevel {
|
||||||
ll.traceLog.Printf(format, v...)
|
ll.traceLog.Printf(format, v...)
|
||||||
ll.traceLog.Println(debug.Stack())
|
ll.traceLog.Println(debug.Stack())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Debug(v ...any) {
|
func (ll LevelLogger) Debug(v ...any) {
|
||||||
|
if ll.CurrentLevel >= DebugLevel {
|
||||||
ll.debugLog.Println(v...)
|
ll.debugLog.Println(v...)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Debugf(format string, v ...any) {
|
func (ll LevelLogger) Debugf(format string, v ...any) {
|
||||||
|
if ll.CurrentLevel >= DebugLevel {
|
||||||
ll.debugLog.Printf(format, v...)
|
ll.debugLog.Printf(format, v...)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Info(v ...any) {
|
func (ll LevelLogger) Info(v ...any) {
|
||||||
|
|
||||||
|
if ll.CurrentLevel >= InfoLevel {
|
||||||
ll.infoLog.Println(v...)
|
ll.infoLog.Println(v...)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Infof(format string, v ...any) {
|
func (ll LevelLogger) Infof(format string, v ...any) {
|
||||||
|
if ll.CurrentLevel >= InfoLevel {
|
||||||
ll.infoLog.Printf(format, v...)
|
ll.infoLog.Printf(format, v...)
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Warn(v ...any) {
|
func (ll LevelLogger) Warn(v ...any) {
|
||||||
|
if ll.CurrentLevel >= WarnLevel {
|
||||||
ll.warnLog.Println(v...)
|
ll.warnLog.Println(v...)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Warnf(format string, v ...any) {
|
func (ll LevelLogger) Warnf(format string, v ...any) {
|
||||||
|
if ll.CurrentLevel >= WarnLevel {
|
||||||
ll.warnLog.Printf(format, v...)
|
ll.warnLog.Printf(format, v...)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Error(v ...any) {
|
func (ll LevelLogger) Error(v ...any) {
|
||||||
|
if ll.CurrentLevel >= ErrorLevel {
|
||||||
ll.errorLog.Println(v...)
|
ll.errorLog.Println(v...)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Errorf(format string, v ...any) {
|
func (ll LevelLogger) Errorf(format string, v ...any) {
|
||||||
|
if ll.CurrentLevel >= ErrorLevel {
|
||||||
ll.errorLog.Printf(format, v...)
|
ll.errorLog.Printf(format, v...)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ll LevelLogger) Fatal(v ...any) {
|
func (ll LevelLogger) Fatal(v ...any) {
|
||||||
ll.fatalLog.Fatalln(v...)
|
ll.fatalLog.Fatalln(v...)
|
||||||
|
|||||||
15
types.go
15
types.go
@@ -15,13 +15,14 @@ import (
|
|||||||
type LogLevel int
|
type LogLevel int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Panic LogLevel = iota
|
LevelLoggerOff LogLevel = iota
|
||||||
Trace
|
PanicLevel
|
||||||
Debug
|
TraceLevel
|
||||||
Info
|
DebugLevel
|
||||||
Warn
|
InfoLevel
|
||||||
Error
|
WarnLevel
|
||||||
Fatal
|
ErrorLevel
|
||||||
|
FatalLevel
|
||||||
)
|
)
|
||||||
|
|
||||||
// type LevelLogger interface {
|
// type LevelLogger interface {
|
||||||
|
|||||||
Reference in New Issue
Block a user