mirror of
https://github.com/Kyren223/eko.git
synced 2026-07-16 00:30:25 +00:00
feat: committing in case I regret this
This commit is contained in:
@@ -1,7 +1,12 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
import (
|
||||
"log/slog"
|
||||
|
||||
"github.com/kyren223/eko/internal/utils"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println("Eko 'Hello, World!' from client")
|
||||
utils.SetupLogger("Client")
|
||||
slog.Info("Eko 'Hello, World!'")
|
||||
}
|
||||
|
||||
@@ -1,7 +1,15 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
import (
|
||||
"log/slog"
|
||||
|
||||
"github.com/kyren223/eko/internal/utils"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println("Eko 'Hello, World!' from server")
|
||||
utils.SetupLogger("Server")
|
||||
slog.Debug("Eko 'Hello, World!'")
|
||||
slog.Info("Eko 'Hello, World!'")
|
||||
slog.Warn("Eko 'Hello, World!'")
|
||||
slog.Error("Eko 'Hello, World!'")
|
||||
}
|
||||
|
||||
44
internal/utils/log.go
Normal file
44
internal/utils/log.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"log/slog"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
func SetupLogger(name string) {
|
||||
logger := slog.New(CustomHandler{os.Stdout, name, nil})
|
||||
slog.SetDefault(logger)
|
||||
slog.SetLogLoggerLevel()
|
||||
}
|
||||
|
||||
type CustomHandler struct {
|
||||
writer io.Writer
|
||||
group string
|
||||
attrs []slog.Attr
|
||||
}
|
||||
|
||||
func (h CustomHandler) Handle(ctx context.Context, r slog.Record) error {
|
||||
// timestamp := time.Now().Format(time.RFC3339Nano)
|
||||
timestamp := time.Now().Format(time.TimeOnly)
|
||||
severity := r.Level.String()
|
||||
_, err := fmt.Fprintf(h.writer, "[%s] [%s/%s]: %s\n", timestamp, h.group, severity, r.Message)
|
||||
return err
|
||||
}
|
||||
|
||||
func (h CustomHandler) Enabled(ctx context.Context, level slog.Level) bool {
|
||||
slog.Handler
|
||||
return true
|
||||
}
|
||||
|
||||
func (h CustomHandler) WithAttrs(attrs []slog.Attr) slog.Handler {
|
||||
return &CustomHandler{h.writer, h.group, append(h.attrs, attrs...)}
|
||||
}
|
||||
|
||||
func (h CustomHandler) WithGroup(name string) slog.Handler {
|
||||
return &CustomHandler{h.writer, name, h.attrs}
|
||||
}
|
||||
Reference in New Issue
Block a user