A simple and blazing fast lock-free logging library for Go, designed for high-performance applications.
glg is a lightweight logging library for Go that prioritizes simplicity and speed. It provides a lock-free design to ensure high performance in concurrent environments, making it suitable for applications where logging overhead must be minimized.
Go developers building high-performance concurrent applications, such as web servers, microservices, or distributed systems, where minimal logging overhead is critical.
Developers choose glg for its lock-free architecture that maximizes performance in concurrent scenarios, combined with a straightforward API that offers flexibility like custom log levels, JSON output, and configurable line tracing without complexity.
Simple and blazing fast lockfree logging library for golang
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a lock-free design to minimize overhead in concurrent applications, as evidenced by benchmarks in the README showing high throughput compared to other libraries.
Supports logging to files, network, and HTTP endpoints through custom writers, allowing easy integration with various systems without complex middleware.
Enables adding user-defined log levels with customizable colors and formats, providing adaptability for project-specific needs beyond standard levels.
Offers JSON output mode for easier parsing by log management tools like ELK or Splunk, enhancing integration capabilities in production environments.
Provides trace modes (short, long, none) with per-level configuration, aiding in debugging by showing precise file and line information for errors.
Lacks built-in log rotation; users must implement custom writers for file management, as shown in the example where rotation is handled externally, increasing setup complexity.
The API requires chaining multiple method calls for setup, leading to verbose and potentially error-prone code, as illustrated in the lengthy example with numerous commented options.
As a smaller library, it has fewer community contributions, third-party integrations, and documentation compared to established alternatives like zap or logrus, which might hinder adoption in complex projects.