Skip to content

MarcoDalco/logrus-logstash-hook

 
 

Repository files navigation

Logstash hook for logrus :walrus:

Build Status Go Report Status

Use this hook to send the logs to Logstash.

Usage

package main

import (
        "github.com/bshuster-repo/logrus-logstash-hook"
        "github.com/sirupsen/logrus"
        "net"
)

func main() {
        log := logrus.New()
        conn, err := net.Dial("tcp", "logstash.mycompany.net:8911")
        if err != nil {
                log.Fatal(err)
        }
        hook := logrustash.New(conn, logrustash.DefaultFormatter(logrus.Fields{"type": "myappName"}))

        log.Hooks.Add(hook)
        ctx := log.WithFields(logrus.Fields{
                "method": "main",
        })
        ctx.Info("Hello World!")
}

This is how it will look like:

{
    "@timestamp" => "2016-02-29T16:57:23.000Z",
      "@version" => "1",
         "level" => "info",
       "message" => "Hello World!",
        "method" => "main",
          "host" => "172.17.0.1",
          "port" => 45199,
          "type" => "myappName"
}

FAQ

Q: I would like to add characters to each line before sending to Logstash? A: Logrustash gives you the ability to mutate the message before sending it to Logstash. Just follow this example.

Q: Is there a way to maintain the connection when it drops A: It's recommended to use GoAutoSocket for that. See here how it can be done.

Maintainers

Name Github
Boaz Shuster boaz0

License

MIT.

About

ℹ️ Logstash hook for logrus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%