1
0
mirror of https://github.com/taigrr/log-socket synced 2025-01-18 04:53:14 -08:00
log-socket/log/types.go

92 lines
1.6 KiB
Go

package log
import "time"
type (
LogWriter chan Entry
Level int
)
const (
LTrace Level = iota
LDebug
LInfo
LNotice
LWarn
LError
LPanic
LFatal
)
type Client struct {
LogLevel Level `json:"level"`
writer LogWriter
initialized bool
}
type Entry struct {
Timestamp time.Time `json:"timestamp"`
Output string `json:"output"`
File string `json:"file"`
Level string `json:"level"`
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)
}
)