https://github.com/scylladb/go-log
Wrapper over Uber Zap
https://github.com/scylladb/go-log
golang logger zap
Last synced: about 2 months ago
JSON representation
Wrapper over Uber Zap
- Host: GitHub
- URL: https://github.com/scylladb/go-log
- Owner: scylladb
- Created: 2018-03-08T16:17:41.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-26T17:10:50.000Z (about 1 year ago)
- Last Synced: 2024-06-18T23:09:12.927Z (12 months ago)
- Topics: golang, logger, zap
- Language: Go
- Homepage:
- Size: 49.8 KB
- Stars: 4
- Watchers: 13
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Log
This is a wrapper over [Uber zap](https://github.com/uber-go/zap) library that replaces the sugared logger.
Features:
* Syslog integration
* Automatic stacktraces for errors
* Context aware tracing ID
* Easy to use
* Fast!Example:
```go
logger, err := log.NewProduction(log.Config{
Mode: log.SyslogMode,
Level: zapcore.InfoLevel,
Encoding: log.JSONEncoding,
})
if err != nil {
t.Fatal(err)
}
logger.Info(ctx, "Could not connect to database",
"sleep", 5*time.Second,
"error", errors.New("I/O error"),
)
logger.Named("sub").Error(ctx, "Unexpected error", "error", errors.New("unexpected"))
```## Benchmarks
Benchmark results of running against zap and zap sugared loggers on Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz.
```
BenchmarkZap-4 2000000 978 ns/op 256 B/op 1 allocs/op
BenchmarkZapSugared-4 1000000 1353 ns/op 528 B/op 2 allocs/op
BenchmarkLogger-4 1000000 1167 ns/op 256 B/op 1 allocs/op
```