https://github.com/dyweb/gommon
A collection of common util libraries for Go
https://github.com/dyweb/gommon
error-handling generator go logging
Last synced: about 1 year ago
JSON representation
A collection of common util libraries for Go
- Host: GitHub
- URL: https://github.com/dyweb/gommon
- Owner: dyweb
- License: mit
- Created: 2017-01-03T17:02:30.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-10-25T23:20:27.000Z (over 5 years ago)
- Last Synced: 2025-05-06T20:51:22.707Z (about 1 year ago)
- Topics: error-handling, generator, go, logging
- Language: Go
- Homepage:
- Size: 1.18 MB
- Stars: 26
- Watchers: 3
- Forks: 6
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Gommon - Go common libraries
[](https://godoc.org/github.com/dyweb/gommon)
[](https://travis-ci.org/dyweb/gommon)
[](https://codecov.io/gh/dyweb/gommon)
[](https://goreportcard.com/report/github.com/dyweb/gommon)
[](https://github.com/dyweb/gommon)
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fdyweb%2Fgommon?ref=badge_shield)
Gommon is a collection of common util libraries written in Go.
- [errors](errors) error wrapping, inspection, multi error (error list), common error types
- [log](log) per package logger with [reasonable performance](log/_benchmarks/README.md)
- [noodle](noodle) embed static assets for web application with `.noodleignore` support
- [generator](generator) render go template, generate methods for logger interface based on `gommon.yml`
- [util](util) wrappers for standard libraries
It has little third party dependencies, only [go-yaml/yaml](https://github.com/go-yaml/yaml) in [util/cast](util/cast),
[go-shellquote](github.com/kballard/go-shellquote) in [generator](generator),
other dependencies like cobra are only for cli, see [go.mod](go.mod).
## Development
- requires go1.13
- `make help`
- [Directory layout](directory.md)
## License
MIT
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fdyweb%2Fgommon?ref=badge_large)
## Contribution
Currently, gommon is in a very volatile state, please open issues after it becomes stable.
## About
Gommon is inspired by many existing libraries, attribution and comparision can be found in [doc/attribution](doc/attribution.md).
Gommon was part of [Ayi](https://github.com/dyweb/Ayi) and split out for wider use.
The name Gommon is suggested by [@arrowrowe](https://github.com/arrowrowe).
The original blog post can be found in dongyue web's [blog](http://blog.dongyueweb.com/ayi.html).
Thanks all the folks in [@dyweb](https://github.com/dyweb)
especially [@gaocegege](https://github.com/gaocegege) for their support in early development.