https://github.com/bakins/twirpzap
Structured logs for twirp servers using zap
https://github.com/bakins/twirpzap
go golang twirp zap
Last synced: 8 months ago
JSON representation
Structured logs for twirp servers using zap
- Host: GitHub
- URL: https://github.com/bakins/twirpzap
- Owner: bakins
- License: apache-2.0
- Created: 2019-05-16T00:27:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-12-17T00:35:32.000Z (almost 5 years ago)
- Last Synced: 2025-01-01T15:21:26.307Z (9 months ago)
- Topics: go, golang, twirp, zap
- Language: Go
- Size: 12.7 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://godoc.org/github.com/bakins/twirpzap)
# twirp zap logger
Logger for [twirp](https://twitchtv.github.io/twirp/docs/intro.html) servers using [zap](https://github.com/uber-go/zap)
## Usage
Install locally: `go get -u github.com/bakins/twirpzap`
Create server hooks:
```go
import (
"github.com/twitchtv/twirp/example"
"go.uber.org/zap"
"github.com/bakins/twirpzap"
)func main() {
logger, _ := zap.NewProduction()
defer logger.Sync()server := example.NewHaberdasherServer(&testHaberdasher{}, twirpzap.ServerHooks(logger))
}
```Log lines will look like:
```
{"level":"info","ts":1557966347.879602,"caller":"twirp-zap-logger/logger.go:62","msg":"response sent","twirp.package":"twitch.twirp.example","twirp.service":"Haberdasher","twirp.method":"MakeHat","twirp.status":"200","duration":0.000169998}
```See also [./example/server.go](./example/server.go)
## LICENSE
See [LICENSE](./LICENSE)