werr alternatives and similar packages
Based on the "Miscellaneous" category.
Alternatively, view werr alternatives based on common mentions on social networks and blogs.
-
go-formatter
Implements replacement fields surrounded by curly braces {} format strings. -
golang-standards/project-layout
Set of common historical and emerging project layout patterns in the Go ecosystem. -
gopsutil
A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). -
go.uuid
Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. -
archiver
Library and command for making and extracting .zip and .tar.gz archives -
fx
A dependency injection based application framework for Go (built on top of dig). -
go-multierror
A Go (golang) package for representing a list of errors as a single error. -
base64Captcha
Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha. -
xstrings
A collection of useful string functions ported from other languages. -
modern-go-application
Go application boilerplate and example applying modern practices. -
notify
File system event notification library with simple API, similar to os/signal. -
go-shortid
Distributed generation of super short, unique, non-sequential, URL friendly IDs. -
go-restful-api
An idiomatic Go RESTful API starter kit following SOLID principles and Clean Architecture with a common project layout. -
cookiecutter-golang
A Go application boilerplate template for quick starting projects following production best practices. -
gotoprom
Type-safe metrics builder wrapper library for the official Prometheus client. -
shoutrrr
Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others. -
Tideland Go
The Tideland Go Library contains a larger set of useful Google Go packages for different purposes. -
healthcheck
An opinionated and concurrent health-check HTTP handler for RESTful services. -
go-sarah
A framework to build bot for desired chat services including LINE, Slack, Gitter and more. -
stats
Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... -
golang-templates/seed
Go application GitHub repository template.
Scout APM - Leading-edge performance monitoring starting at $39/month
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of werr or a related project?
Popular Comparisons
README
Error Wrapper
Error Wrapper creates an wrapper for the error
type in Go which captures the File, Line and Stack of where it was called.
Installation
go get -u github.com/txgruppi/werr
Why?
I don't like to use panic
.
I want my apps to run forever and just output errors to a log.
Usually I write my logs using logger.Printf("%#v", err)
but I needed more info related to the error, so I created this package.
Example
package main
import (
"fmt"
"os"
"github.com/txgruppi/werr"
)
func main() {
file, err := os.Open("/tmp/my-missing-file")
if err != nil {
err = werr.Wrap(err) // Wrap it
fmt.Println(err.Error()) // Return the original error message
if wrapped, ok := err.(*werr.Wrapper); ok { // Try to convert to `*werr.Wrapper`
lg, _ := wrapped.Log() // Generate the log message
fmt.Println(lg) // Print the log message
}
}
defer file.Close()
}
This code will output something line this:
open /tmp/my-missing-file: no such file or directory
/Users/txgruppi/code/temp/test.go:13 open /tmp/my-missing-file: no such file or directory
goroutine 1 [running]:
github.com/txgruppi/werr.Wrap(0x2208246900, 0x208270300, 0x0, 0x0)
/Users/txgruppi/code/go/src/github.com/txgruppi/werr/funcs.go:24 +0x153
main.main()
/Users/txgruppi/code/temp/test.go:13 +0x72
Tests
go get -u -t github.com/txgruppi/werr
cd $GOPATH/src/github.com/txgruppi/werr
go test ./...
License
MIT
*Note that all licence references and agreements mentioned in the werr README section above
are relevant to that project's source code only.