Project Information
Documentation links, performance characteristics, versioning policy, contribution guidelines, licensing, and project resources for the NLG Logger package.
Documentation
Official package documentation, guides, examples, and integration tutorials are available at:
API reference is available on pkg.go.dev:
Source code and issue tracking:
Design Goals
The logger package is designed around a few core principles:
- Predictable runtime performance
- Minimal heap allocations
- Simple architecture with minimal dependencies
- Native compatibility with Go’s standard
log/slogpackage - Production-ready structured logging
- Efficient concurrent logging for backend services
The package internally uses reusable pooled objects and optimized file writing strategies to reduce allocation pressure under high log throughput.
Performance
Benchmarks performed on Apple M2 Max:
- ConsoleHandler: ~62 ns/op (1 alloc/op)
- FileWriter: ~1600 ns/op (0 alloc/op)
- FileWriter (Parallel): ~2000 ns/op (0 alloc/op)
The FileWriter achieves 0 allocs/op during writes through internal buffer reuse and optimized write pipelines.
Actual performance depends on:
- terminal output usage
- filesystem speed
- log formatting
- JSON serialization overhead
- operating system buffering
Versioning
This project follows Semantic Versioning.
See CHANGELOG.md
for release history, version updates, and breaking changes.
Contributing
Community contributions, discussions, bug reports, and pull requests are welcome.
Please read CONTRIBUTING.md
before submitting pull requests or opening issues.
Code of Conduct
This project follows the Contributor Covenant Code of Conduct.
Please read CODE_OF_CONDUCT.md
before participating in discussions or contributing to the project.
Author
Created and maintained by NetLife Guru s.r.o.
Resources:
- Documentation: https://netlife.guru/docs
- GitHub: https://github.com/netlifeguru
- Contact: info@netlife.guru
License
This project is licensed under the MIT License.
See LICENSE
for full license information.