
▲ 3 r/golang
I've been building a small logging library in Go as a learning project: solislog.
It is intentionally simple and synchronous. No background goroutines, no async queue, and no required package-level global logger. The goal is to practice Go package design around io.Writer, contextual fields, multiple handlers, templates, JSON output, and context.Context propagation.
It currently supports:
- multiple handlers
- template-based text output
- JSON output mode
- contextual fields via
Extra - bound loggers
- context propagation helpers
- configurable time format/location
I’m not trying to compete with slog, zap, or zerolog. This is mostly a small pre-v1 project to learn API design and make something clean enough to make the package docs readable on pkg.go.dev.
I’d appreciate feedback specifically on:
- whether the public API feels Go-like
- whether the handler/options model is reasonable
- whether the template approach is too weird
- what would make the README/examples clearer
u/DasKaroWow — 23 days ago