Scriba: Structured logging in Lisp with multiple backends and auto-config (Scheme library)
3 points by jjba23
3 points by jjba23
I’ve been working on Scriba, a structured logging library built specifically for Guile Scheme with flexibility, performance, and easy configuration in mind.
https://codeberg.org/jjba23/scriba
It’s still in the early stages of development, and before locking in the core architecture, I wanted to share it with this great community to get your thoughts, critiques, and ideas.
So Far:
Auto-Configured Logger: The easiest way to get started. It reads environment variables (LOG_LEVEL, LOG_FORMAT, etc.) to determine the backend at runtime. Perfect for using a console logger in local dev and JSON structured logging in production (for Loki/Datadog/etc.).
Console, Color Console, Syslog and Structured JSON loggers
Dynamic Log Context means you can easily attach metadata to your logs for better observability. Parameterize allows also seamless nesting context with maximum performance.
Logger creation is cached. Subsequent calls to create the identically configured logger anywhere in your codebase are completely instant.
Most of the heavy lifting is done at compile time with macro expansion
Since this is an early release, I’m very open to pivoting or adjusting things based on community feedback.
Do you agree with the current design and architecture? What features would you consider "must-haves" for a Lisp logging library?
Are there any specific pain points in logging you'd like to see solved?
Thanks