Logboek is a Go library for structured and informative output.
The library addresses the need for organized, configurable logging in Go applications by providing a system built around streams, channels, and formatting modes. It separates output into two streams—one for standard messages and one for errors and warnings—and routes them through named log channels (Error, Warn, Default, Info, Debug) that can be activated based on application state. This channel-based approach allows developers to control verbosity and organize output for different execution modes without changing code paths. Formatting parameters like prefixes and tags apply consistently across streams, and the library supports both direct logger instances and high-level package-level functions for convenience.
Logboek suits applications that need flexible, hierarchical logging with clear separation between normal and error output. It works well in CLI tools, build systems, and other programs where controlling output verbosity and organizing messages by severity or purpose is important. The library integrates with Go's context.Context, allowing loggers to be propagated through call chains with automatic fallback to a default logger if no logger is attached to a context. This makes it practical for libraries and middleware that need to respect caller-provided loggers without requiring explicit parameter passing.
The project maintains active development with regular commits addressing bug fixes and feature refinements. Pull requests receive timely review and feedback from maintainers. The codebase shows consistent attention to code quality through review processes and incremental improvements to existing functionality.