wrapcheck
chock
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wrapcheck
-
Structured Logging with Slog
This is such an infuriating problem. I'm convinced I'm using Go wrong, because I simply can't understand how this doesn't make it a toy language. Why the $expletive am I wasting 20-30 and more minutes per week of my life looking for the source of an error!?
Have you seen https://github.com/tomarrell/wrapcheck? It's a linter than does a fairly good job of warning when an error originates from an external package but hasn't been wrapped in your codebase to make it unique or stacktraced. It comes with https://github.com/golangci/golangci-lint and can even be made part of your in-editor LSP diagnostics.
But still, it's not perfect. And so I remain convinced that I'm misunderstanding something fundamental about the language because not being able to consistently find the source of an error is such an egregious failing for a programming language.
-
Wrapcheck v2.3.0 released: Ignore package signatures
If you're curious to read more, you can have a read here: https://blog.tomarrell.com/post/introducing_wrapcheck_linter_for_go
chock
-
Structured Logging with Slog
Agreed. In fact I wrote a (very) small library to help deal with it.
https://github.com/kitd/chock
What are some alternatives?
revive - 🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
json-log-explorer - UI for exploring JSON logs
emperror - The Emperor takes care of all errors personally
zap - Blazing fast, structured, leveled logging in Go.
dockle - Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start
Benthos - Fancy stream processing made operationally mundane
go-critic - The most opinionated Go source code linter for code audit.
golangci-lint - Fast linters Runner for Go
errcheck - errcheck checks that you checked errors.
websocketd - Turn any program that uses STDIN/STDOUT into a WebSocket server. Like inetd, but for WebSockets.
lnav - Log file navigator