A Go library for structured, colored, and customizable variable dumping, ideal for debugging and logging.
godump is a Go library that dumps any Go variable in a structured, colored, and customizable format. It solves the limitation of the standard `fmt` package by providing clearer and more readable output for debugging, testing, and logging purposes.
Go developers who need enhanced variable inspection during debugging, testing, or when building logging adapters for development and production environments.
Developers choose godump for its ability to handle all types, including unexported fields and recursive pointers, with full customization and zero dependencies, offering a superior alternative to basic `fmt` printing.
Dump any GO variable with ease
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles all Go types including unexported struct fields and recursive pointers, as shown in Example 3 where a struct references itself without infinite loops.
Allows full control over indentation, themes, and even HTML generation, demonstrated in Example 4 with custom CSS color implementations.
Lightweight library with no external dependencies, reducing bloat and simplifying integration, as stated in the README's key features.
Provides Print, Println, Sprint, Fprint variants for various use cases, offering adaptability similar to fmt package extensions.
The pretty printing and color formatting introduce computational costs compared to basic fmt printing, which can be significant in high-throughput logging scenarios.
Creating custom themes requires implementing interfaces, as seen in Example 4, which adds complexity for simple use cases and may deter quick adoption.
Primarily designed for debugging and inspection, so it lacks features for production-grade structured logging like log levels, aggregation, or integration with monitoring tools.