cleodora-forecasting / cleodora-forecasting/cleodora
Add a logger / logging package
- Dominant language
- Go
- Stars
- 24
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
It makes debugging easier.
Some candidates (chosen via 10 minutes of googling):
* https://github.com/sirupsen/logrus
* :x: Is in maintenance mode, which is not per-se bad but the README does mention that had it been designed today they would change things.
* :heavy_check_mark: 23k stars, very popular
* https://github.com/rs/zerolog
* It's inspired by zap but with even better performance
* https://github.com/apex/log
* :x: Has centralization in mind, which is not my use case
* https://github.com/uber-go/zap/
* Developed by a company, which can be a blessing and a curse
* :heavy_check_mark: The design decision in the [FAQ](https://github.com/uber-go/zap/blob/master/FAQ.md) speak to me e.g. recommendations not to use a global logger and to create your own interface or the built-in support to panic in development but log an error in production
* Emphasizes performance, which does not seem very important for me, on the other hand as they write, why not?
* https://github.com/inconshreveable/log15
* No obvious pros or cons
* slog (https://pkg.go.dev/golang.org/x/exp/slog)
* :heavy_check_mark: It was accepted for Go 1.21 (https://github.com/golang/go/issues/56345) so it seems like it will become part of the stdlib
* Logrus, Zap and Zerolog are mentioned as prior work
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by inspecting how the Go application currently reports errors and tracing the logging needs across the web application, then compare the listed logging packages against those needs. Done means a package and integration scope have been agreed and the application has a consistent logging approach.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100