1
0
mirror of https://github.com/taigrr/log-socket synced 2026-03-21 00:12:19 -07:00

add ability to embed other loggers of varying functionality

This commit is contained in:
2023-03-29 14:02:57 -07:00
parent e21fb8a614
commit 50c507c8f4
5 changed files with 289 additions and 4 deletions

View File

@@ -2,8 +2,10 @@ package log
import "time"
type LogWriter chan Entry
type Level int
type (
LogWriter chan Entry
Level int
)
const (
LTrace Level = iota
@@ -30,6 +32,60 @@ type Entry struct {
level Level
}
func Default() *Logger {
l := Logger{FileInfoDepth: 0, SubLoggers: []LevelLogger{}}
return &l
}
func EnrichLogger(weak StdLogger) gapLogger {
return gapLogger{subLogger: weak}
}
type Logger struct {
FileInfoDepth int
SubLoggers []LevelLogger
}
type gapLogger struct {
subLogger StdLogger
}
type (
StdLogger interface {
Println(v ...any)
Printf(format string, v ...any)
Print(v ...any)
Panic(v ...any)
Panicf(format string, v ...any)
Panicln(v ...any)
Fatal(v ...any)
Fatalf(format string, v ...any)
Fatalln(v ...any)
}
LevelLogger interface {
Debug(v ...any)
Debugf(format string, v ...any)
Error(v ...any)
Errorf(format string, v ...any)
Errorln(v ...any)
Fatal(v ...any)
Fatalf(format string, v ...any)
Fatalln(v ...any)
Info(v ...any)
Infof(format string, v ...any)
Infoln(v ...any)
Notice(v ...any)
Noticef(format string, v ...any)
Noticeln(v ...any)
Panic(v ...any)
Panicf(format string, v ...any)
Panicln(v ...any)
Print(v ...any)
Printf(format string, v ...any)
Println(v ...any)
Trace(v ...any)
Tracef(format string, v ...any)
Traceln(v ...any)
Warn(v ...any)
Warnf(format string, v ...any)
Warnln(v ...any)
}
)