Bump Logstash hook for logrus to v1.0.0
.
Signed-off-by: olegburov <oleg.burov@outlook.com>
This commit is contained in:
parent
22c074842e
commit
907e7be545
10 changed files with 157 additions and 289 deletions
76
vendor/github.com/bshuster-repo/logrus-logstash-hook/README.md
generated
vendored
76
vendor/github.com/bshuster-repo/logrus-logstash-hook/README.md
generated
vendored
|
@ -1,30 +1,35 @@
|
|||
# Logstash hook for logrus <img src="http://i.imgur.com/hTeVwmJ.png" width="40" height="40" alt=":walrus:" class="emoji" title=":walrus:" /> [](https://travis-ci.org/bshuster-repo/logrus-logstash-hook)
|
||||
Use this hook to send the logs to [Logstash](https://www.elastic.co/products/logstash) over both UDP and TCP.
|
||||
# Logstash hook for logrus <img src="http://i.imgur.com/hTeVwmJ.png" width="40" height="40" alt=":walrus:" class="emoji" title=":walrus:" />
|
||||
[](https://travis-ci.org/bshuster-repo/logrus-logstash-hook)
|
||||
[](https://goreportcard.com/report/github.com/bshuster-repo/logrus-logstash-hook)
|
||||
|
||||
## Usage
|
||||
Use this hook to send the logs to [Logstash](https://www.elastic.co/products/logstash).
|
||||
|
||||
# Usage
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/bshuster-repo/logrus-logstash-hook"
|
||||
"github.com/sirupsen/logrus"
|
||||
"net"
|
||||
)
|
||||
|
||||
func main() {
|
||||
log := logrus.New()
|
||||
hook, err := logrustash.NewHook("tcp", "172.17.0.2:9999", "myappName")
|
||||
|
||||
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",
|
||||
"method": "main",
|
||||
})
|
||||
...
|
||||
ctx.Info("Hello World!")
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
This is how it will look like:
|
||||
|
@ -41,61 +46,8 @@ This is how it will look like:
|
|||
"type" => "myappName"
|
||||
}
|
||||
```
|
||||
## Hook Fields
|
||||
Fields can be added to the hook, which will always be in the log context.
|
||||
This can be done when creating the hook:
|
||||
|
||||
```go
|
||||
|
||||
hook, err := logrustash.NewHookWithFields("tcp", "172.17.0.2:9999", "myappName", logrus.Fields{
|
||||
"hostname": os.Hostname(),
|
||||
"serviceName": "myServiceName",
|
||||
})
|
||||
```
|
||||
|
||||
Or afterwards:
|
||||
|
||||
```go
|
||||
|
||||
hook.WithFields(logrus.Fields{
|
||||
"hostname": os.Hostname(),
|
||||
"serviceName": "myServiceName",
|
||||
})
|
||||
```
|
||||
This allows you to set up the hook so logging is available immediately, and add important fields as they become available.
|
||||
|
||||
Single fields can be added/updated using 'WithField':
|
||||
|
||||
```go
|
||||
|
||||
hook.WithField("status", "running")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Field prefix
|
||||
|
||||
The hook allows you to send logging to logstash and also retain the default std output in text format.
|
||||
However to keep this console output readable some fields might need to be omitted from the default non-hooked log output.
|
||||
Each hook can be configured with a prefix used to identify fields which are only to be logged to the logstash connection.
|
||||
For example if you don't want to see the hostname and serviceName on each log line in the console output you can add a prefix:
|
||||
|
||||
```go
|
||||
|
||||
|
||||
hook, err := logrustash.NewHookWithFields("tcp", "172.17.0.2:9999", "myappName", logrus.Fields{
|
||||
"_hostname": os.Hostname(),
|
||||
"_serviceName": "myServiceName",
|
||||
})
|
||||
...
|
||||
hook.WithPrefix("_")
|
||||
```
|
||||
|
||||
There are also constructors available which allow you to specify the prefix from the start.
|
||||
The std-out will not have the '\_hostname' and '\_servicename' fields, and the logstash output will, but the prefix will be dropped from the name.
|
||||
|
||||
|
||||
# Authors
|
||||
# Maintainers
|
||||
|
||||
Name | Github | Twitter |
|
||||
------------ | --------- | ---------- |
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue