1
0
Fork 0
mirror of https://github.com/Luzifer/elastic_cron.git synced 2024-11-12 15:32:47 +00:00
elastic_cron/vendor/gopkg.in/sohlich/elogrus.v3/README.MD
Knut Ahlers 9f3c6fbb02
Add dependencies
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2018-04-15 14:06:54 +02:00

1.5 KiB

ElasticSearch Hook for Logrus :walrus:

Elasticsearch version Elastic version Package URL
6.x 6.0 gopkg.in/sohlich/elogrus.v3
5.x 5.0 gopkg.in/sohlich/elogrus.v2
2.x 3.0 gopkg.in/sohlich/elogrus.v1

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")
	...