Compare commits
3 Commits
000fe293ee
...
ea0c84547f
Author | SHA1 | Date |
---|---|---|
Jeffrey Paul | ea0c84547f | |
Jeffrey Paul | a852d938e7 | |
Jeffrey Paul | a660203e8f |
|
@ -1 +1,2 @@
|
|||
.aider*
|
||||
cmd/example/example
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
|
||||
_ "sneak.berlin/go/simplelog"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
// log structured data with slog as usual:
|
||||
slog.Info(
|
||||
"User login attempt",
|
||||
slog.String("user", "JohnDoe"),
|
||||
slog.Int("attempt", 3),
|
||||
)
|
||||
slog.Warn(
|
||||
"Configuration mismatch",
|
||||
slog.String("expected", "config.json"),
|
||||
slog.String("found", "config.dev.json"),
|
||||
)
|
||||
slog.Error(
|
||||
"Failed to save data",
|
||||
slog.String("reason", "permission denied"),
|
||||
)
|
||||
}
|
|
@ -16,7 +16,10 @@ func NewConsoleHandler() *ConsoleHandler {
|
|||
return &ConsoleHandler{}
|
||||
}
|
||||
|
||||
func (c *ConsoleHandler) Handle(ctx context.Context, record slog.Record) error {
|
||||
func (c *ConsoleHandler) Handle(
|
||||
ctx context.Context,
|
||||
record slog.Record,
|
||||
) error {
|
||||
timestamp := time.Now().UTC().Format("2006-01-02T15:04:05.000Z07:00")
|
||||
var colorFunc func(format string, a ...interface{}) string
|
||||
|
||||
|
@ -32,16 +35,28 @@ func (c *ConsoleHandler) Handle(ctx context.Context, record slog.Record) error {
|
|||
}
|
||||
|
||||
// Get the caller information
|
||||
_, file, line, ok := runtime.Caller(5)
|
||||
_, file, line, ok := runtime.Caller(4)
|
||||
if !ok {
|
||||
file = "???"
|
||||
line = 0
|
||||
}
|
||||
fmt.Println(colorFunc("%s [%s] %s:%d: %s", timestamp, record.Level, file, line, record.Message))
|
||||
fmt.Println(
|
||||
colorFunc(
|
||||
"%s [%s] %s:%d: %s",
|
||||
timestamp,
|
||||
record.Level,
|
||||
file,
|
||||
line,
|
||||
record.Message,
|
||||
),
|
||||
)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *ConsoleHandler) Enabled(ctx context.Context, level slog.Level) bool {
|
||||
func (c *ConsoleHandler) Enabled(
|
||||
ctx context.Context,
|
||||
level slog.Level,
|
||||
) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue