Description: | Package Zap provides fast, structured, leveled logging.
For applications that log in the hot path, reflection-based serialization and
string formatting are prohibitively expensive - they're CPU-intensive and make
many small allocations. Put differently, using json.Marshal and fmt.Fprintf to
log tons of interface{} makes your application slow.
Zap takes a different approach. It includes a reflection-free, zero-allocation
JSON encoder, and the base Logger strives to avoid serialization overhead and
allocations wherever possible. By building the high-level SugaredLogger on that
foundation, zap lets users choose when they need to count every allocation and
when they'd prefer a more familiar, loosely typed API.
This package contains the source code needed for building packages that
reference the following Go import paths:
– go.uber.org/zap |