AMQP Hook for Logrus ![:walrus: :walrus:](https://camo.githubusercontent.com/af2c989074fb1620e1cde7d99bc233c64c759df90024a1c4caeb02cb151ab1f2/687474703a2f2f692e696d6775722e636f6d2f68546556776d4a2e706e67)
Usage
package main
import (
"github.com/sirupsen/logrus"
"github.com/vladoatanasov/logrus_amqp"
)
func main() {
log := logrus.New()
hook := logrus_amqp.NewAMQPHook("127.0.0.1:5672", "guest", "guest", "exchange-rabbitmq", "routing-key")
// with virtual host
hook := logrus_amqp.NewAMQPHookWithType("127.0.0.1:5672", "guest", "guest", "exchange-rabbitmq", "virtualHost" "routing-key")
log.Hooks.Add(hook)
}
func doWork() {
err := some_useful_func()
if err != nil {
log.WithFields(logrus.Fields{
"topic": "some_useful_func",
}).Error(err)
}
}
With this hook, you can easily send logs to the ELK stack, using rabbitmq as a message broker. You can find a working docker-compose project here