Log is a minimal, colorful Go logging library that provides structured human-readable output with a small API surface.
The library solves the problem of verbose or unstyled logging in Go by offering leveled structured logging with customizable colorful formatting. It uses Lip Gloss to style and colorize output, distinguishing itself from the standard library's log package through human-readable formatting and batteries-included features. The tool supports multiple output formats including text, JSON, and Logfmt, and can be customized with different timestamp formats. It provides helper functions that skip caller frames appropriately and integrates with Go's context package for storing and retrieving loggers.
Developers should choose this library if they want colorful, human-readable logs without the overhead of heavier logging frameworks. It suits projects that prioritize developer experience and readable terminal output, particularly command-line tools and services where log visibility matters. The library includes a global package-wise logger with timestamps enabled and info-level logging by default, making it immediately usable without configuration. It also provides a Slog handler and standard log adapter for compatibility with existing Go logging patterns.
The project maintains active development with regular updates and comprehensive test coverage. The codebase demonstrates attention to code quality through continuous integration checks and documentation via Go package documentation.