forked from jshiffer/matterbridge
62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
|
|
|||
|
![Structured logging for golang](assets/title.png)
|
|||
|
|
|||
|
Package log implements a simple structured logging API inspired by Logrus, designed with centralization in mind. Read more on [Medium](https://medium.com/@tjholowaychuk/apex-log-e8d9627f4a9a#.rav8yhkud).
|
|||
|
|
|||
|
## Handlers
|
|||
|
|
|||
|
- __apexlogs__ – handler for [Apex Logs](https://apex.sh/logs/)
|
|||
|
- __cli__ – human-friendly CLI output
|
|||
|
- __discard__ – discards all logs
|
|||
|
- __es__ – Elasticsearch handler
|
|||
|
- __graylog__ – Graylog handler
|
|||
|
- __json__ – JSON output handler
|
|||
|
- __kinesis__ – AWS Kinesis handler
|
|||
|
- __level__ – level filter handler
|
|||
|
- __logfmt__ – logfmt plain-text formatter
|
|||
|
- __memory__ – in-memory handler for tests
|
|||
|
- __multi__ – fan-out to multiple handlers
|
|||
|
- __papertrail__ – Papertrail handler
|
|||
|
- __text__ – human-friendly colored output
|
|||
|
- __delta__ – outputs the delta between log calls and spinner
|
|||
|
|
|||
|
## Example
|
|||
|
|
|||
|
Example using the [Apex Logs](https://apex.sh/logs/) handler.
|
|||
|
|
|||
|
```go
|
|||
|
package main
|
|||
|
|
|||
|
import (
|
|||
|
"errors"
|
|||
|
"time"
|
|||
|
|
|||
|
"github.com/apex/log"
|
|||
|
)
|
|||
|
|
|||
|
func main() {
|
|||
|
ctx := log.WithFields(log.Fields{
|
|||
|
"file": "something.png",
|
|||
|
"type": "image/png",
|
|||
|
"user": "tobi",
|
|||
|
})
|
|||
|
|
|||
|
for range time.Tick(time.Millisecond * 200) {
|
|||
|
ctx.Info("upload")
|
|||
|
ctx.Info("upload complete")
|
|||
|
ctx.Warn("upload retry")
|
|||
|
ctx.WithError(errors.New("unauthorized")).Error("upload failed")
|
|||
|
ctx.Errorf("failed to upload %s", "img.png")
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
[![Build Status](https://semaphoreci.com/api/v1/projects/d8a8b1c0-45b0-4b89-b066-99d788d0b94c/642077/badge.svg)](https://semaphoreci.com/tj/log)
|
|||
|
[![GoDoc](https://godoc.org/github.com/apex/log?status.svg)](https://godoc.org/github.com/apex/log)
|
|||
|
![](https://img.shields.io/badge/license-MIT-blue.svg)
|
|||
|
![](https://img.shields.io/badge/status-stable-green.svg)
|
|||
|
|
|||
|
<a href="https://apex.sh"><img src="http://tjholowaychuk.com:6000/svg/sponsor"></a>
|