ElasticSearch Hook for Logrus
Changelog
- elastic 6.x support (currently in master)
- v2.1 - Added support for async hook
Import
go get gopkg.in/sohlich/elogrus.v3
Usage
package main
import (
"github.com/sirupsen/logrus.v3"
"gopkg.in/sohlich/elogrus"
"gopkg.in/olivere/elastic"
)
func main() {
log := logrus.New()
client, err := elastic.NewClient(elastic.SetURL("http://localhost:9200"))
if err != nil {
log.Panic(err)
}
hook, err := elogrus.NewElasticHook(client, "localhost", logrus.DebugLevel, "mylog")
if err != nil {
log.Panic(err)
}
log.Hooks.Add(hook)
log.WithFields(logrus.Fields{
"name": "joe",
"age": 42,
}).Error("Hello world!")
}
Asynchronous hook
...
elogrus.NewAsyncElasticHook(client, "localhost", logrus.DebugLevel, "mylog")
...