moby/vendor/github.com/fluent/fluent-logger-golang
Sebastiaan van Stijn 688e67e1d3
bump fluent/fluent-logger-golang v1.4.0
- Add RequestAck to enable at-least-once message transferring
- Add Async option to update sending message in asynchronous way
- Deprecate AsyncConnect (Use Async instead)

full diff: https://github.com/fluent/fluent-logger-golang/compare/v1.3.0...v1.4.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-04-16 11:06:30 +02:00
..
fluent bump fluent/fluent-logger-golang v1.4.0 2019-04-16 11:06:30 +02:00
LICENSE project: use vndr for vendoring 2016-11-03 15:31:46 -07:00
README.md bump fluent/fluent-logger-golang v1.4.0 2019-04-16 11:06:30 +02:00

fluent-logger-golang

Build Status

A structured event logger for Fluentd (Golang)

How to install

go get github.com/fluent/fluent-logger-golang/fluent

Usage

Install the package with go get and use import to include it in your project.

import "github.com/fluent/fluent-logger-golang/fluent"

GoDoc: http://godoc.org/github.com/fluent/fluent-logger-golang/fluent

Example

package main

import (
  "github.com/fluent/fluent-logger-golang/fluent"
  "fmt"
  "time"
)

func main() {
  logger, err := fluent.New(fluent.Config{})
  if err != nil {
    fmt.Println(err)
  }
  defer logger.Close()
  tag := "myapp.access"
  var data = map[string]string{
    "foo":  "bar",
    "hoge": "hoge",
  }
  error := logger.Post(tag, data)
  // error := logger.PostWithTime(tag, time.Now(), data)
  if error != nil {
    panic(error)
  }
}

data must be a value like map[string]literal, map[string]interface{}, struct or msgp.Marshaler. Logger refers tags msg or codec of each fields of structs.

Setting config values

f := fluent.New(fluent.Config{FluentPort: 80, FluentHost: "example.com"})

WriteTimeout

Sets the timeout for Write call of logger.Post. Since the default is zero value, Write will not time out.

Async

Enable asynchronous I/O (connect and write) for sending events to Fluentd. The default is false.

RequestAck

Sets whether to request acknowledgment from Fluentd to increase the reliability of the connection. The default is false.

Tests

go test