cleodora-forecasting / cleodora-forecasting/cleodora

Add a logger / logging package

Open
#493 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.