MrZ's go-logger alternatives and similar packages
Based on the "Logging" category.
Alternatively, view MrZ's go-logger alternatives based on common mentions on social networks and blogs.
-
spew
Implements a deep pretty printer for Go data structures to aid in debugging -
tail
Go package for reading from continously updated files (tail -f) -
seelog
Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting. -
logxi
A 12-factor app logger built for performance and happy development -
go-logger
Simple logger for Go programs. Allows custom formats for messages. -
rollingwriter
Rolling writer is an IO util for auto rolling write in go. -
httpretty
Package httpretty prints the HTTP requests you make with Go pretty on your terminal. -
sqldb-logger
A logger for Go SQL database driver without modifying existing *sql.DB stdlib usage. -
logrusiowriter
io.Writer implementation using logrus logger -
loggo
A logging library for Go. Doesn't use the built in go log standard library, but instead offers a replacement. -
ozzo-log
A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets. -
logex
An golang log lib, supports tracking and level, wrap by standard log lib -
gologger
Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. -
noodlog
๐ Parametrized JSON logging library in Golang which lets you obfuscate sensitive data and marshal any kind of content. -
mlog
A simple logging module for go, with a rotating file feature and console logging. -
journald
Go implementation of systemd Journal's native API for logging -
slf
The Structured Logging Facade (SLF) for Go (like SLF4J but structured and for Go) -
Kiwi Logs&Context
Fast, structured, with filters and dynamic sinks. No levels. Logger & context keeper for Go language ๐ฅ It smell like a mushroom. -
logmatic
Colorized logger for Golang with dynamic log level configuration -
slog
The reference implementation of the Structured Logging Facade (SLF) for Go -
gomol
Gomol is a library for structured, multiple-output logging for Go with extensible logging outputs -
kemba
A tiny debug logging tool. Ideal for CLI tools and command applications. Inspired by https://github.com/visionmedia/debug -
go-rethinklogger
Automatically persists all the logs of your Go application inside RethinkDB.
Access the most powerful time series database as a service
Do you think we are missing an alternative of MrZ's go-logger or a related project?
Popular Comparisons
README
go-logger
Easy to use, extendable and super fast logging package for Go
Table of Contents
- Installation
- Documentation
- Examples & Tests
- Benchmarks
- Code Standards
- Usage
- Maintainers
- Contributing
- License
Installation
go-logger requires a supported release of Go. ```shell script go get -u github.com/mrz1836/go-logger
For use with [Log Entries (Rapid7)](https://www.rapid7.com/products/insightops/), change the environment variables:
```shell script
export LOG_ENTRIES_TOKEN=your-token-here
(Optional) Set custom endpoint or port parameters ```shell script export LOG_ENTRIES_ENDPOINT=us.data.logs.insight.rapid7.com export LOG_ENTRIES_PORT=514
<br/>
## Documentation
View the generated [documentation](https://pkg.go.dev/github.com/mrz1836/go-logger)
[](https://pkg.go.dev/github.com/mrz1836/go-logger)
### Features
- Native logging package (extends log package)
- Native support for [Log Entries (Rapid7)](https://www.rapid7.com/products/insightops/) with queueing
- Test coverage on all custom methods
- Supports different Rapid7 endpoints & ports
<details>
<summary><strong><code>Library Deployment</code></strong></summary>
<br/>
[goreleaser](https://github.com/goreleaser/goreleaser) for easy binary or library deployment to Github and can be installed via: `brew install goreleaser`.
The [.goreleaser.yml](.goreleaser.yml) file is used to configure [goreleaser](https://github.com/goreleaser/goreleaser).
Use `make release-snap` to create a snapshot version of the release, and finally `make release` to ship to production.
</details>
<details>
<summary><strong><code>Makefile Commands</code></strong></summary>
<br/>
View all `makefile` commands
```shell script
make help
List of all current commands:
all Runs multiple commands
clean Remove previous builds and any test cache data
clean-mods Remove all the Go mod cache
coverage Shows the test coverage
godocs Sync the latest tag with GoDocs
help Show this help message
install Install the application
install-go Install the application (Using Native Go)
lint Run the golangci-lint application (install if not found)
release Full production release (creates release in Github)
release Runs common.release then runs godocs
release-snap Test the full release (build binaries)
release-test Full production test release (everything except deploy)
replace-version Replaces the version in HTML/JS (pre-deploy)
run-examples Runs all the examples
tag Generate a new tag and push (tag version=0.0.0)
tag-remove Remove a tag if found (tag-remove version=0.0.0)
tag-update Update an existing tag to current commit (tag-update version=0.0.0)
test Runs vet, lint and ALL tests
test-short Runs vet, lint and tests (excludes integration tests)
test-travis Runs all tests via Travis (also exports coverage)
test-travis-short Runs unit tests via Travis (also exports coverage)
uninstall Uninstall the application (and remove files)
update-linter Update the golangci-lint package (macOS only)
vet Run the Go vet application
Examples & Tests
All unit tests and [examples](examples/examples.go) run via Travis CI and uses Go version 1.15.x. View the [deployment configuration file](.travis.yml).
Run all tests (including integration tests) ```shell script make test
Run tests (excluding integration tests)
```shell script
make test-short
Benchmarks
Run the Go [benchmarks](logger_test.go): ```shell script make bench
<br/>
## Code Standards
Read more about this Go project's [code standards](CODE_STANDARDS.md).
<br/>
## Usage
- View the [examples](examples/examples.go)
- View the [tests](logger_test.go)
Basic implementation:
```go
package main
import "github.com/mrz1836/go-logger"
func main() {
logger.Data(2, logger.DEBUG, "testing the go-logger package")
// Output: type="debug" file="example/example.go" method="main.main" line="12" message="testing the go-logger package"
}
Maintainers
MrZ | kayleg |
Contributing
View the [contributing guidelines](CONTRIBUTING.md) and please follow the [code of conduct](CODE_OF_CONDUCT.md).
How can I help?
All kinds of contributions are welcome :raised_hands:! The most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon:. You can also support this project by becoming a sponsor on GitHub :clap: or by making a bitcoin donation to ensure this journey continues indefinitely! :rocket:
License
*Note that all licence references and agreements mentioned in the MrZ's go-logger README section above
are relevant to that project's source code only.