mirror of
https://github.com/taigrr/log-socket
synced 2025-01-18 04:53:14 -08:00
Revert "add ability to embed other loggers of varying functionality"
This reverts commit 50c507c8f4d6939d0feda2a5148800e4c9fc5d19.
This commit is contained in:
parent
50c507c8f4
commit
0fa4de7961
2
go.mod
2
go.mod
@ -1,5 +1,5 @@
|
|||||||
module github.com/taigrr/log-socket
|
module github.com/taigrr/log-socket
|
||||||
|
|
||||||
go 1.18
|
go 1.16
|
||||||
|
|
||||||
require github.com/gorilla/websocket v1.5.0
|
require github.com/gorilla/websocket v1.5.0
|
||||||
|
136
log/gaplogger.go
136
log/gaplogger.go
@ -1,136 +0,0 @@
|
|||||||
package log
|
|
||||||
|
|
||||||
// Trace prints out logs on trace level
|
|
||||||
func (l gapLogger) Trace(args ...interface{}) {
|
|
||||||
l.subLogger.Print(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for Trace
|
|
||||||
func (l gapLogger) Tracef(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Printf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Trace prints out logs on trace level with newline
|
|
||||||
func (l gapLogger) Traceln(args ...interface{}) {
|
|
||||||
l.subLogger.Println(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Debug prints out logs on debug level
|
|
||||||
func (l gapLogger) Debug(args ...interface{}) {
|
|
||||||
l.subLogger.Print(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for Debug
|
|
||||||
func (l gapLogger) Debugf(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Printf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for Debug
|
|
||||||
func (l gapLogger) Debugln(args ...interface{}) {
|
|
||||||
l.subLogger.Println(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Info prints out logs on info level
|
|
||||||
func (l gapLogger) Info(args ...interface{}) {
|
|
||||||
l.subLogger.Print(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for Info
|
|
||||||
func (l gapLogger) Infof(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Printf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Info prints out logs on info level with newline
|
|
||||||
func (l gapLogger) Infoln(args ...interface{}) {
|
|
||||||
l.subLogger.Println(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Notice prints out logs on notice level
|
|
||||||
func (l gapLogger) Notice(args ...interface{}) {
|
|
||||||
l.subLogger.Print(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for Notice
|
|
||||||
func (l gapLogger) Noticef(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Printf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Notice prints out logs on notice level with newline
|
|
||||||
func (l gapLogger) Noticeln(args ...interface{}) {
|
|
||||||
l.subLogger.Println(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Warn prints out logs on warn level
|
|
||||||
func (l gapLogger) Warn(args ...interface{}) {
|
|
||||||
l.subLogger.Print(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for Warn
|
|
||||||
func (l gapLogger) Warnf(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Printf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Warn prints out logs on warn level with a newline
|
|
||||||
func (l gapLogger) Warnln(args ...interface{}) {
|
|
||||||
l.subLogger.Println(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Error prints out logs on error level
|
|
||||||
func (l gapLogger) Error(args ...interface{}) {
|
|
||||||
l.subLogger.Print(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for error
|
|
||||||
func (l gapLogger) Errorf(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Printf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Error prints out logs on error level with a new line
|
|
||||||
func (l gapLogger) Errorln(args ...interface{}) {
|
|
||||||
l.subLogger.Println(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Panic prints out logs on panic level
|
|
||||||
func (l gapLogger) Panic(args ...interface{}) {
|
|
||||||
l.subLogger.Panic(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for panic
|
|
||||||
func (l gapLogger) Panicf(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Panicf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Panic prints out logs on panic level with a newline
|
|
||||||
func (l gapLogger) Panicln(args ...interface{}) {
|
|
||||||
l.subLogger.Panicln(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fatal prints out logs on fatal level
|
|
||||||
func (l gapLogger) Fatal(args ...interface{}) {
|
|
||||||
l.subLogger.Fatal(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Formatted print for fatal
|
|
||||||
func (l gapLogger) Fatalf(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Fatalf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fatal prints fatal level with a new line
|
|
||||||
func (l gapLogger) Fatalln(args ...interface{}) {
|
|
||||||
l.subLogger.Fatalln(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handles print to info
|
|
||||||
func (l gapLogger) Print(args ...interface{}) {
|
|
||||||
l.subLogger.Print(args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handles formatted print to info
|
|
||||||
func (l gapLogger) Printf(format string, args ...interface{}) {
|
|
||||||
l.subLogger.Printf(format, args...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handles print to info with new line
|
|
||||||
func (l gapLogger) Println(args ...interface{}) {
|
|
||||||
l.subLogger.Println(args...)
|
|
||||||
}
|
|
@ -22,9 +22,6 @@ func (l Logger) Trace(args ...interface{}) {
|
|||||||
level: LTrace,
|
level: LTrace,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Trace(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Formatted print for Trace
|
// Formatted print for Trace
|
||||||
@ -38,9 +35,6 @@ func (l Logger) Tracef(format string, args ...interface{}) {
|
|||||||
level: LTrace,
|
level: LTrace,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Tracef(format, args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trace prints out logs on trace level with newline
|
// Trace prints out logs on trace level with newline
|
||||||
@ -54,9 +48,6 @@ func (l Logger) Traceln(args ...interface{}) {
|
|||||||
level: LTrace,
|
level: LTrace,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Traceln(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Debug prints out logs on debug level
|
// Debug prints out logs on debug level
|
||||||
@ -70,9 +61,6 @@ func (l Logger) Debug(args ...interface{}) {
|
|||||||
level: LDebug,
|
level: LDebug,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Debug(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Formatted print for Debug
|
// Formatted print for Debug
|
||||||
@ -86,9 +74,6 @@ func (l Logger) Debugf(format string, args ...interface{}) {
|
|||||||
level: LDebug,
|
level: LDebug,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Debugf(format, args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Info prints out logs on info level
|
// Info prints out logs on info level
|
||||||
@ -102,9 +87,6 @@ func (l Logger) Info(args ...interface{}) {
|
|||||||
level: LInfo,
|
level: LInfo,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Info(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Formatted print for Info
|
// Formatted print for Info
|
||||||
@ -118,9 +100,6 @@ func (l Logger) Infof(format string, args ...interface{}) {
|
|||||||
level: LInfo,
|
level: LInfo,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Infof(format, args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Info prints out logs on info level with newline
|
// Info prints out logs on info level with newline
|
||||||
@ -134,9 +113,6 @@ func (l Logger) Infoln(args ...interface{}) {
|
|||||||
level: LInfo,
|
level: LInfo,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Infoln(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Notice prints out logs on notice level
|
// Notice prints out logs on notice level
|
||||||
@ -150,9 +126,6 @@ func (l Logger) Notice(args ...interface{}) {
|
|||||||
level: LNotice,
|
level: LNotice,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Notice(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Formatted print for Notice
|
// Formatted print for Notice
|
||||||
@ -166,9 +139,6 @@ func (l Logger) Noticef(format string, args ...interface{}) {
|
|||||||
level: LNotice,
|
level: LNotice,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Noticef(format, args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Notice prints out logs on notice level with newline
|
// Notice prints out logs on notice level with newline
|
||||||
@ -182,9 +152,6 @@ func (l Logger) Noticeln(args ...interface{}) {
|
|||||||
level: LNotice,
|
level: LNotice,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Noticeln(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warn prints out logs on warn level
|
// Warn prints out logs on warn level
|
||||||
@ -198,9 +165,6 @@ func (l Logger) Warn(args ...interface{}) {
|
|||||||
level: LWarn,
|
level: LWarn,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Warn(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Formatted print for Warn
|
// Formatted print for Warn
|
||||||
@ -214,9 +178,6 @@ func (l Logger) Warnf(format string, args ...interface{}) {
|
|||||||
level: LWarn,
|
level: LWarn,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Warnf(format, args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warn prints out logs on warn level with a newline
|
// Warn prints out logs on warn level with a newline
|
||||||
@ -230,9 +191,6 @@ func (l Logger) Warnln(args ...interface{}) {
|
|||||||
level: LWarn,
|
level: LWarn,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Warnln(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error prints out logs on error level
|
// Error prints out logs on error level
|
||||||
@ -246,9 +204,6 @@ func (l Logger) Error(args ...interface{}) {
|
|||||||
level: LError,
|
level: LError,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Error(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Formatted print for error
|
// Formatted print for error
|
||||||
@ -262,10 +217,6 @@ func (l Logger) Errorf(format string, args ...interface{}) {
|
|||||||
level: LError,
|
level: LError,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
|
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Errorf(format, args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error prints out logs on error level with a new line
|
// Error prints out logs on error level with a new line
|
||||||
@ -279,9 +230,6 @@ func (l Logger) Errorln(args ...interface{}) {
|
|||||||
level: LError,
|
level: LError,
|
||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Errorln(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Panic prints out logs on panic level
|
// Panic prints out logs on panic level
|
||||||
@ -304,9 +252,6 @@ func (l Logger) Panic(args ...interface{}) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Flush()
|
Flush()
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Panic(args...)
|
|
||||||
}
|
|
||||||
panic(errors.New(output))
|
panic(errors.New(output))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -330,9 +275,6 @@ func (l Logger) Panicf(format string, args ...interface{}) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Flush()
|
Flush()
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Panicf(format, args...)
|
|
||||||
}
|
|
||||||
panic(errors.New(output))
|
panic(errors.New(output))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -356,10 +298,6 @@ func (l Logger) Panicln(args ...interface{}) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Flush()
|
Flush()
|
||||||
|
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Panicln(args...)
|
|
||||||
}
|
|
||||||
panic(errors.New(output))
|
panic(errors.New(output))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -375,9 +313,6 @@ func (l Logger) Fatal(args ...interface{}) {
|
|||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
Flush()
|
Flush()
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Fatal(args...)
|
|
||||||
}
|
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -393,9 +328,6 @@ func (l Logger) Fatalf(format string, args ...interface{}) {
|
|||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
Flush()
|
Flush()
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Fatalf(format, args...)
|
|
||||||
}
|
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -411,40 +343,20 @@ func (l Logger) Fatalln(args ...interface{}) {
|
|||||||
}
|
}
|
||||||
createLog(e)
|
createLog(e)
|
||||||
Flush()
|
Flush()
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Fatalln(args...)
|
|
||||||
}
|
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handles print to info
|
// Handles print to info
|
||||||
func (l Logger) Print(args ...interface{}) {
|
func (l Logger) Print(args ...interface{}) {
|
||||||
l.Info(args...)
|
l.Info(args...)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Print(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handles formatted print to info
|
// Handles formatted print to info
|
||||||
func (l Logger) Printf(format string, args ...interface{}) {
|
func (l Logger) Printf(format string, args ...interface{}) {
|
||||||
l.Infof(format, args...)
|
l.Infof(format, args...)
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Printf(format, args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handles print to info with new line
|
// Handles print to info with new line
|
||||||
func (l Logger) Println(args ...interface{}) {
|
func (l Logger) Println(args ...interface{}) {
|
||||||
output := fmt.Sprintln(args...)
|
l.Infoln(args...)
|
||||||
e := Entry{
|
|
||||||
Timestamp: time.Now(),
|
|
||||||
Output: output,
|
|
||||||
File: fileInfo(l.FileInfoDepth),
|
|
||||||
Level: "INFO",
|
|
||||||
level: LInfo,
|
|
||||||
}
|
|
||||||
createLog(e)
|
|
||||||
for _, sl := range l.SubLoggers {
|
|
||||||
sl.Println(args...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
60
log/types.go
60
log/types.go
@ -2,10 +2,8 @@ package log
|
|||||||
|
|
||||||
import "time"
|
import "time"
|
||||||
|
|
||||||
type (
|
type LogWriter chan Entry
|
||||||
LogWriter chan Entry
|
type Level int
|
||||||
Level int
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
LTrace Level = iota
|
LTrace Level = iota
|
||||||
@ -32,60 +30,6 @@ type Entry struct {
|
|||||||
level 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 {
|
type Logger struct {
|
||||||
FileInfoDepth int
|
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)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
5
main.go
5
main.go
@ -2,7 +2,6 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"log"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -30,9 +29,5 @@ func main() {
|
|||||||
http.HandleFunc("/ws", ws.LogSocketHandler)
|
http.HandleFunc("/ws", ws.LogSocketHandler)
|
||||||
http.HandleFunc("/", browser.LogSocketViewHandler)
|
http.HandleFunc("/", browser.LogSocketViewHandler)
|
||||||
go generateLogs()
|
go generateLogs()
|
||||||
dLogger := log.Default()
|
|
||||||
lsLogger := logger.Default()
|
|
||||||
lsLogger.SubLoggers = append(lsLogger.SubLoggers, logger.EnrichLogger(dLogger))
|
|
||||||
lsLogger.Println("This should be printed out twice!")
|
|
||||||
logger.Fatal(http.ListenAndServe(*addr, nil))
|
logger.Fatal(http.ListenAndServe(*addr, nil))
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user