Socket hook for logrus ![:walrus: :walrus:](https://camo.githubusercontent.com/cad5cef19f4709026d903572dfb5fe5a75d090d95dd822ddef499e131e63337a/687474703a2f2f692e696d6775722e636f6d2f68546556776d4a2e706e67)
Use this hook to send the logs over UDP, TCP or Unix socket.
Output format is JSON, formatted for Logstash/ElasticSearch.
package main
import (
"github.com/sirupsen/logrus"
"github.com/Showmax/sockrus"
)
func main() {
log := logrus.New()
hook, err := sockrus.NewHook("unixpacket", "/tmp/log.sock")
if err != nil {
log.Fatal(err)
}
log.Hooks.Add(hook)
ctx := log.WithFields(logrus.Fields{
"method": "main",
})
...
ctx.Info("Hello World!")
}
This is how it will look like:
{
"@timestamp": "2016-04-15T12:49:36Z",
"@version": 1,
"level": "info",
"message": "Hello World!",
"method": "main"
}